SlideShare uma empresa Scribd logo
1 de 27
Criando Serviços com AngularJS
Rodrigo Branas – @rodrigobranas - http://www.agilecode.com.br
Rodrigo Branas
rodrigo.branas@agilecode.com.br
http://www.agilecode.com.br
• Desenvolvendo Software na Gennera
• Criando treinamentos na Agile Code
• Escrevendo na Java Magazine e PacktPub
• Palestrando sobre desenvolvimento de
software em eventos, universidades e
empresas
Certificações
Formação Acadêmica
Ciências da Computação – UFSC
Gerenciamento de Projetos - FGV
SCJA, SCJP, SCJD, SCWCD, SCBCD, PMP, MCP e CSM
Experiência
Há mais de 12 anos desenvolvendo software na
plataforma Java com as empresas: EDS, HP, NET,
Citibank, GM, Dígitro, Softplan, OnCast, Senai,
VALE, RBS, Unimed, Globalcode, V.Office, Suntech,
WPlex e Gennera.
• Há mais de 5 anos liderando pessoas.
• Mais de 2000 horas em sala de aula.
• Mais de 100 apresentações em eventos.
• 6 artigos escritos para revistas.
• 1 livro.
• Mais de 500 profissionais treinados.
• Criação de 22 palestras.
• Criação de 10 treinamentos.
• Criação de mais de 3.000 slides.
O que realmente me motiva?
Quando devemos criar serviços?
Criando um serviço para interagir
com a API REST
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
factory
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory();
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI");
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI", function () {
26. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI", function ($http) {
26. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI", function ($http) {
26. var _getContatos = function () {
27. };
28. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI", function ($http) {
26. var _getContatos = function () {
27. return $http.get('/contatos');
28. };
29. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI", function ($http) {
26. var _getContatos = function () {
27. return $http.get('/contatos');
28. };
29. return {
30. };
31. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI", function ($http) {
26. var _getContatos = function () {
27. return $http.get('/contatos');
28. };
29. return {
30. getContatos: _getContatos
31. };
32. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI", function ($http) {
26. var _getContatos = function () {
27. return $http.get('/contatos');
28. };
29. return {
30. getContatos: _getContatos
31. };
32. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI", function ($http) {
26. var _getContatos = function () {
27. return $http.get('/contatos');
28. };
29. return {
30. getContatos: _getContatos
31. };
32. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI", function ($http) {
26. var _getContatos = function () {
27. return $http.get('/contatos');
28. };
29. return {
30. getContatos: _getContatos
31. };
32. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. $http.get('/contatos').success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI", function ($http) {
26. var _getContatos = function () {
27. return $http.get('/contatos');
28. };
29. return {
30. getContatos: _getContatos
31. };
32. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. .success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI", function ($http) {
26. var _getContatos = function () {
27. return $http.get('/contatos');
28. };
29. return {
30. getContatos: _getContatos
31. };
32. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. ListaTelefonicaAPI.getContatos().success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI", function ($http) {
26. var _getContatos = function () {
27. return $http.get('/contatos');
28. };
29. return {
30. getContatos: _getContatos
31. };
32. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. ListaTelefonicaAPI.getContatos().success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.factory("ListaTelefonicaAPI", function ($http) {
26. var _getContatos = function () {
27. return $http.get('/contatos');
28. };
29. return {
30. getContatos: _getContatos
31. };
32. });
1. var app = angular.module("listaTelefonica", ['ngRoute']);
2.
3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) {
4. $scope.app = "Lista Telefônica";
5. $scope.carregarContatos = function () {
6. ListaTelefonicaAPI.getContatos().success(function (contatos) {
7. $scope.listaTelefonica = contatos;
8. });
9. };
10. $scope.carregarOperadoras = function () {
11. $http.get('/operadoras').success(function (operadoras) {
12. $scope.operadoras = operadoras;
13. });
14. };
15. $scope.adicionarContato = function (contato) {
16. $http.post('/contatos', contato).success(function () {
17. $scope.carregarContatos();
18. });
19. delete $scope.contato;
20. };
21. $scope.carregarContatos();
22. $scope.carregarOperadoras();
23. });
24.
25. app.service("ListaTelefonicaAPI", function ($http) {
26. this.getContatos = function () {
27. return $http.get('/contatos');
28. };
29. });

Mais conteúdo relacionado

Mais procurados

A evolução do AngularJS
A evolução do AngularJSA evolução do AngularJS
A evolução do AngularJSRodrigo Branas
 
Node.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo BranasNode.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo BranasRodrigo Branas
 
AngularJS - 10 passos para aprender a criar suas directivas
AngularJS - 10 passos para aprender a criar suas directivasAngularJS - 10 passos para aprender a criar suas directivas
AngularJS - 10 passos para aprender a criar suas directivasJanderson Fernandes Cardoso
 
Introdução ao AngularJS
Introdução ao AngularJSIntrodução ao AngularJS
Introdução ao AngularJSRodrigo Branas
 
Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Julian Cesar
 
AngularJS Abraçando o MVC Client-Side
AngularJS Abraçando o MVC Client-SideAngularJS Abraçando o MVC Client-Side
AngularJS Abraçando o MVC Client-SideSergio Azevedo
 
Desenvolvimento de Aplicações Web AngularJS no Contexto da IoT
Desenvolvimento de Aplicações Web AngularJS no Contexto da IoTDesenvolvimento de Aplicações Web AngularJS no Contexto da IoT
Desenvolvimento de Aplicações Web AngularJS no Contexto da IoTRodrigo Fortes
 
Zend Framework 1.11
Zend Framework 1.11Zend Framework 1.11
Zend Framework 1.11Cezar Souza
 
RubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direitoRubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direitoCezinha Anjos
 
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)Rafael Ponte
 
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2Cezar Souza
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Frameworkelliando dias
 

Mais procurados (20)

A evolução do AngularJS
A evolução do AngularJSA evolução do AngularJS
A evolução do AngularJS
 
Node.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo BranasNode.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo Branas
 
AngularJS - 10 passos para aprender a criar suas directivas
AngularJS - 10 passos para aprender a criar suas directivasAngularJS - 10 passos para aprender a criar suas directivas
AngularJS - 10 passos para aprender a criar suas directivas
 
Introdução ao AngularJS
Introdução ao AngularJSIntrodução ao AngularJS
Introdução ao AngularJS
 
Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)Desenvolvimento Front end (AngularJS e Bootstrap)
Desenvolvimento Front end (AngularJS e Bootstrap)
 
AngularJS Abraçando o MVC Client-Side
AngularJS Abraçando o MVC Client-SideAngularJS Abraçando o MVC Client-Side
AngularJS Abraçando o MVC Client-Side
 
Spa com angular js flisol 2015 - aquidauana ms
Spa com angular js   flisol 2015 - aquidauana msSpa com angular js   flisol 2015 - aquidauana ms
Spa com angular js flisol 2015 - aquidauana ms
 
Desenvolvimento de Aplicações Web AngularJS no Contexto da IoT
Desenvolvimento de Aplicações Web AngularJS no Contexto da IoTDesenvolvimento de Aplicações Web AngularJS no Contexto da IoT
Desenvolvimento de Aplicações Web AngularJS no Contexto da IoT
 
Zend Framework 1.11
Zend Framework 1.11Zend Framework 1.11
Zend Framework 1.11
 
RubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direitoRubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direito
 
JavaScript - A Linguagem
JavaScript - A LinguagemJavaScript - A Linguagem
JavaScript - A Linguagem
 
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
Os 10 maus habitos dos desenvolvedores jsf (JustJava e CCT)
 
Apresentação angular js
Apresentação angular jsApresentação angular js
Apresentação angular js
 
Java script aula 10 - angularjs
Java script   aula 10 - angularjsJava script   aula 10 - angularjs
Java script aula 10 - angularjs
 
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
 
Google apps script - Parte 2
Google apps script - Parte 2Google apps script - Parte 2
Google apps script - Parte 2
 
Java script - funções
Java script - funçõesJava script - funções
Java script - funções
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Framework
 
Java script aula 02 - operadores
Java script   aula 02 - operadoresJava script   aula 02 - operadores
Java script aula 02 - operadores
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 

Destaque

Utilizando diretivas com AngularJS
Utilizando diretivas com AngularJSUtilizando diretivas com AngularJS
Utilizando diretivas com AngularJSRodrigo Branas
 
Criando Filtros com AngularJS
Criando Filtros com AngularJSCriando Filtros com AngularJS
Criando Filtros com AngularJSRodrigo Branas
 
HTTP Interceptors com AngularJS
HTTP Interceptors com AngularJSHTTP Interceptors com AngularJS
HTTP Interceptors com AngularJSRodrigo Branas
 
Validando Formulários com AngularJS
Validando Formulários com AngularJSValidando Formulários com AngularJS
Validando Formulários com AngularJSRodrigo Branas
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo BranasNode.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo BranasRodrigo Branas
 
Criando aplicações Single-Page com AngularJS
Criando aplicações Single-Page com AngularJSCriando aplicações Single-Page com AngularJS
Criando aplicações Single-Page com AngularJSRodrigo Branas
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Rodrigo Branas
 
Node.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo BranasNode.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo BranasRodrigo Branas
 
Node.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo BranasNode.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo BranasRodrigo Branas
 
Node.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasNode.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasRodrigo Branas
 
Angular js com diretivas
Angular js com diretivasAngular js com diretivas
Angular js com diretivasMatheus Lima
 
Apresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UIApresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UICecília Rosa
 
Aplicando filtros com AngularJS
Aplicando filtros com AngularJSAplicando filtros com AngularJS
Aplicando filtros com AngularJSRodrigo Branas
 
Evoluindo a arquitetura de uma aplicação com AngularJS
Evoluindo a arquitetura de uma aplicação com AngularJSEvoluindo a arquitetura de uma aplicação com AngularJS
Evoluindo a arquitetura de uma aplicação com AngularJSRodrigo Branas
 
Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12Emerson Macedo
 

Destaque (20)

Utilizando diretivas com AngularJS
Utilizando diretivas com AngularJSUtilizando diretivas com AngularJS
Utilizando diretivas com AngularJS
 
Criando Filtros com AngularJS
Criando Filtros com AngularJSCriando Filtros com AngularJS
Criando Filtros com AngularJS
 
HTTP Interceptors com AngularJS
HTTP Interceptors com AngularJSHTTP Interceptors com AngularJS
HTTP Interceptors com AngularJS
 
Validando Formulários com AngularJS
Validando Formulários com AngularJSValidando Formulários com AngularJS
Validando Formulários com AngularJS
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo BranasNode.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
 
Criando aplicações Single-Page com AngularJS
Criando aplicações Single-Page com AngularJSCriando aplicações Single-Page com AngularJS
Criando aplicações Single-Page com AngularJS
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Node.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo BranasNode.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo Branas
 
Node.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo BranasNode.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo Branas
 
#2 - Git - DAG
#2 - Git - DAG#2 - Git - DAG
#2 - Git - DAG
 
Node.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasNode.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo Branas
 
Angular js com diretivas
Angular js com diretivasAngular js com diretivas
Angular js com diretivas
 
Apresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UIApresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UI
 
Aplicando filtros com AngularJS
Aplicando filtros com AngularJSAplicando filtros com AngularJS
Aplicando filtros com AngularJS
 
Angular js
Angular jsAngular js
Angular js
 
Evoluindo a arquitetura de uma aplicação com AngularJS
Evoluindo a arquitetura de uma aplicação com AngularJSEvoluindo a arquitetura de uma aplicação com AngularJS
Evoluindo a arquitetura de uma aplicação com AngularJS
 
Grunt
GruntGrunt
Grunt
 
Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12
 

Semelhante a Criando serviços com AngularJS

Evento Front End SP - Organizando o Javascript
 Evento Front End SP - Organizando o Javascript Evento Front End SP - Organizando o Javascript
Evento Front End SP - Organizando o JavascriptMichel Ribeiro
 
Android Dev Conference 2017 - Arquitetura para projetos Android
 Android Dev Conference 2017 - Arquitetura para projetos Android Android Dev Conference 2017 - Arquitetura para projetos Android
Android Dev Conference 2017 - Arquitetura para projetos AndroidiMasters
 
Introdução ao OpenLayers
Introdução ao OpenLayersIntrodução ao OpenLayers
Introdução ao OpenLayersFernando Quadro
 
TDC2018SP | Trilha Mobile - Flutter: do zero a publicacao
TDC2018SP | Trilha Mobile - Flutter: do zero a publicacaoTDC2018SP | Trilha Mobile - Flutter: do zero a publicacao
TDC2018SP | Trilha Mobile - Flutter: do zero a publicacaotdc-globalcode
 
Fazendo uma aplicação cliente/servidor (e algumas dicas...)
Fazendo uma aplicação cliente/servidor (e algumas dicas...)Fazendo uma aplicação cliente/servidor (e algumas dicas...)
Fazendo uma aplicação cliente/servidor (e algumas dicas...)Makoto Miyagawa
 
Integração do Flex com PHP através do AMFPHP
Integração do Flex com PHP através do AMFPHPIntegração do Flex com PHP através do AMFPHP
Integração do Flex com PHP através do AMFPHPelliando dias
 
TDC2013 SP - Criando Webservices ultra rápidos com PHP Phalcon e MongoDB
TDC2013 SP - Criando Webservices ultra rápidos com PHP Phalcon e MongoDBTDC2013 SP - Criando Webservices ultra rápidos com PHP Phalcon e MongoDB
TDC2013 SP - Criando Webservices ultra rápidos com PHP Phalcon e MongoDBLuiz Gavinho
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Criando e consumindo Web Services (REST) com o CakePHP
Criando e consumindo Web Services (REST) com o CakePHPCriando e consumindo Web Services (REST) com o CakePHP
Criando e consumindo Web Services (REST) com o CakePHP2km interativa!
 
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JS
TDC São Paulo 2015  - Interfaces Ricas com Rails e React.JSTDC São Paulo 2015  - Interfaces Ricas com Rails e React.JS
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JSRodrigo Urubatan
 
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Thyago Maia
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVCEder Magalhães
 
2009 05 20 Floripa Flex
2009 05 20 Floripa Flex2009 05 20 Floripa Flex
2009 05 20 Floripa FlexEduardo Kraus
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseLuiz Duarte
 
O que esperar do Zend Framework 3
O que esperar do Zend Framework 3O que esperar do Zend Framework 3
O que esperar do Zend Framework 3Flávio Lisboa
 
Geolocalização em PHP - Google Places, Maps e Routes
Geolocalização em PHP - Google Places, Maps e RoutesGeolocalização em PHP - Google Places, Maps e Routes
Geolocalização em PHP - Google Places, Maps e RoutesLuis Gustavo Almeida
 

Semelhante a Criando serviços com AngularJS (20)

Evento Front End SP - Organizando o Javascript
 Evento Front End SP - Organizando o Javascript Evento Front End SP - Organizando o Javascript
Evento Front End SP - Organizando o Javascript
 
Flutter do zero a publicacao
Flutter do zero a publicacaoFlutter do zero a publicacao
Flutter do zero a publicacao
 
Android Dev Conference 2017 - Arquitetura para projetos Android
 Android Dev Conference 2017 - Arquitetura para projetos Android Android Dev Conference 2017 - Arquitetura para projetos Android
Android Dev Conference 2017 - Arquitetura para projetos Android
 
Introdução ao OpenLayers
Introdução ao OpenLayersIntrodução ao OpenLayers
Introdução ao OpenLayers
 
Flutter do zero a publicacao
Flutter do zero a publicacaoFlutter do zero a publicacao
Flutter do zero a publicacao
 
TDC2018SP | Trilha Mobile - Flutter: do zero a publicacao
TDC2018SP | Trilha Mobile - Flutter: do zero a publicacaoTDC2018SP | Trilha Mobile - Flutter: do zero a publicacao
TDC2018SP | Trilha Mobile - Flutter: do zero a publicacao
 
Fazendo uma aplicação cliente/servidor (e algumas dicas...)
Fazendo uma aplicação cliente/servidor (e algumas dicas...)Fazendo uma aplicação cliente/servidor (e algumas dicas...)
Fazendo uma aplicação cliente/servidor (e algumas dicas...)
 
Integração do Flex com PHP através do AMFPHP
Integração do Flex com PHP através do AMFPHPIntegração do Flex com PHP através do AMFPHP
Integração do Flex com PHP através do AMFPHP
 
TDC2013 SP - Criando Webservices ultra rápidos com PHP Phalcon e MongoDB
TDC2013 SP - Criando Webservices ultra rápidos com PHP Phalcon e MongoDBTDC2013 SP - Criando Webservices ultra rápidos com PHP Phalcon e MongoDB
TDC2013 SP - Criando Webservices ultra rápidos com PHP Phalcon e MongoDB
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Criando e consumindo Web Services (REST) com o CakePHP
Criando e consumindo Web Services (REST) com o CakePHPCriando e consumindo Web Services (REST) com o CakePHP
Criando e consumindo Web Services (REST) com o CakePHP
 
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JS
TDC São Paulo 2015  - Interfaces Ricas com Rails e React.JSTDC São Paulo 2015  - Interfaces Ricas com Rails e React.JS
TDC São Paulo 2015 - Interfaces Ricas com Rails e React.JS
 
Flutter do zero a publicacao
Flutter do zero a publicacaoFlutter do zero a publicacao
Flutter do zero a publicacao
 
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVC
 
2009 05 20 Floripa Flex
2009 05 20 Floripa Flex2009 05 20 Floripa Flex
2009 05 20 Floripa Flex
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + Mongoose
 
Google API
Google APIGoogle API
Google API
 
O que esperar do Zend Framework 3
O que esperar do Zend Framework 3O que esperar do Zend Framework 3
O que esperar do Zend Framework 3
 
Geolocalização em PHP - Google Places, Maps e Routes
Geolocalização em PHP - Google Places, Maps e RoutesGeolocalização em PHP - Google Places, Maps e Routes
Geolocalização em PHP - Google Places, Maps e Routes
 

Mais de Rodrigo Branas

#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisas#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisasRodrigo Branas
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - IntroduçãoRodrigo Branas
 
#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remoto#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remotoRodrigo Branas
 
#3 - Git - Branching e Merging
#3 - Git - Branching e Merging#3 - Git - Branching e Merging
#3 - Git - Branching e MergingRodrigo Branas
 
JavaScript - Expressões Regulares
JavaScript - Expressões RegularesJavaScript - Expressões Regulares
JavaScript - Expressões RegularesRodrigo Branas
 
Test-Driven Development com JavaScript, Jasmine Karma
Test-Driven Development com JavaScript, Jasmine  KarmaTest-Driven Development com JavaScript, Jasmine  Karma
Test-Driven Development com JavaScript, Jasmine KarmaRodrigo Branas
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptRodrigo Branas
 

Mais de Rodrigo Branas (12)

Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisas#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisas
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - Introdução
 
#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remoto#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remoto
 
#4 - Git - Stash
#4 - Git - Stash#4 - Git - Stash
#4 - Git - Stash
 
#3 - Git - Branching e Merging
#3 - Git - Branching e Merging#3 - Git - Branching e Merging
#3 - Git - Branching e Merging
 
JavaScript - Date
JavaScript - DateJavaScript - Date
JavaScript - Date
 
JavaScript - Expressões Regulares
JavaScript - Expressões RegularesJavaScript - Expressões Regulares
JavaScript - Expressões Regulares
 
Selenium - WebDriver
Selenium - WebDriverSelenium - WebDriver
Selenium - WebDriver
 
Test-Driven Development com JavaScript, Jasmine Karma
Test-Driven Development com JavaScript, Jasmine  KarmaTest-Driven Development com JavaScript, Jasmine  Karma
Test-Driven Development com JavaScript, Jasmine Karma
 
Bower
BowerBower
Bower
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 

Criando serviços com AngularJS

  • 1. Criando Serviços com AngularJS Rodrigo Branas – @rodrigobranas - http://www.agilecode.com.br
  • 2. Rodrigo Branas rodrigo.branas@agilecode.com.br http://www.agilecode.com.br • Desenvolvendo Software na Gennera • Criando treinamentos na Agile Code • Escrevendo na Java Magazine e PacktPub • Palestrando sobre desenvolvimento de software em eventos, universidades e empresas
  • 3. Certificações Formação Acadêmica Ciências da Computação – UFSC Gerenciamento de Projetos - FGV SCJA, SCJP, SCJD, SCWCD, SCBCD, PMP, MCP e CSM Experiência Há mais de 12 anos desenvolvendo software na plataforma Java com as empresas: EDS, HP, NET, Citibank, GM, Dígitro, Softplan, OnCast, Senai, VALE, RBS, Unimed, Globalcode, V.Office, Suntech, WPlex e Gennera.
  • 4. • Há mais de 5 anos liderando pessoas. • Mais de 2000 horas em sala de aula. • Mais de 100 apresentações em eventos. • 6 artigos escritos para revistas. • 1 livro. • Mais de 500 profissionais treinados. • Criação de 22 palestras. • Criação de 10 treinamentos. • Criação de mais de 3.000 slides. O que realmente me motiva?
  • 5. Quando devemos criar serviços?
  • 6. Criando um serviço para interagir com a API REST
  • 7. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. });
  • 8. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. });
  • 9. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. });
  • 11. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. });
  • 12. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory();
  • 13. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI");
  • 14. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI", function () { 26. });
  • 15. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI", function ($http) { 26. });
  • 16. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI", function ($http) { 26. var _getContatos = function () { 27. }; 28. });
  • 17. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI", function ($http) { 26. var _getContatos = function () { 27. return $http.get('/contatos'); 28. }; 29. });
  • 18. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI", function ($http) { 26. var _getContatos = function () { 27. return $http.get('/contatos'); 28. }; 29. return { 30. }; 31. });
  • 19. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI", function ($http) { 26. var _getContatos = function () { 27. return $http.get('/contatos'); 28. }; 29. return { 30. getContatos: _getContatos 31. }; 32. });
  • 20. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI", function ($http) { 26. var _getContatos = function () { 27. return $http.get('/contatos'); 28. }; 29. return { 30. getContatos: _getContatos 31. }; 32. });
  • 21. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI", function ($http) { 26. var _getContatos = function () { 27. return $http.get('/contatos'); 28. }; 29. return { 30. getContatos: _getContatos 31. }; 32. });
  • 22. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI", function ($http) { 26. var _getContatos = function () { 27. return $http.get('/contatos'); 28. }; 29. return { 30. getContatos: _getContatos 31. }; 32. });
  • 23. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. $http.get('/contatos').success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI", function ($http) { 26. var _getContatos = function () { 27. return $http.get('/contatos'); 28. }; 29. return { 30. getContatos: _getContatos 31. }; 32. });
  • 24. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. .success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI", function ($http) { 26. var _getContatos = function () { 27. return $http.get('/contatos'); 28. }; 29. return { 30. getContatos: _getContatos 31. }; 32. });
  • 25. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. ListaTelefonicaAPI.getContatos().success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI", function ($http) { 26. var _getContatos = function () { 27. return $http.get('/contatos'); 28. }; 29. return { 30. getContatos: _getContatos 31. }; 32. });
  • 26. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. ListaTelefonicaAPI.getContatos().success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.factory("ListaTelefonicaAPI", function ($http) { 26. var _getContatos = function () { 27. return $http.get('/contatos'); 28. }; 29. return { 30. getContatos: _getContatos 31. }; 32. });
  • 27. 1. var app = angular.module("listaTelefonica", ['ngRoute']); 2. 3. app.controller("ListaTelefonicaCtrl", function ($scope, $http, ListaTelefonicaAPI) { 4. $scope.app = "Lista Telefônica"; 5. $scope.carregarContatos = function () { 6. ListaTelefonicaAPI.getContatos().success(function (contatos) { 7. $scope.listaTelefonica = contatos; 8. }); 9. }; 10. $scope.carregarOperadoras = function () { 11. $http.get('/operadoras').success(function (operadoras) { 12. $scope.operadoras = operadoras; 13. }); 14. }; 15. $scope.adicionarContato = function (contato) { 16. $http.post('/contatos', contato).success(function () { 17. $scope.carregarContatos(); 18. }); 19. delete $scope.contato; 20. }; 21. $scope.carregarContatos(); 22. $scope.carregarOperadoras(); 23. }); 24. 25. app.service("ListaTelefonicaAPI", function ($http) { 26. this.getContatos = function () { 27. return $http.get('/contatos'); 28. }; 29. });