Angular: REST ou SOAP no back-end?
Fala, Galera. Beleza?
Quando vocês desenvolvem aplicações SPA utilizando o Angular, utilizam sempre APIs Restful para prover dados do back-end para a aplicação? Ou costuma utilizar outros padrões como o SOAP?
Quando vocês desenvolvem aplicações SPA utilizando o Angular, utilizam sempre APIs Restful para prover dados do back-end para a aplicação? Ou costuma utilizar outros padrões como o SOAP?
Caio Rolla
Curtidas 2
Melhor post
Jothaz
28/11/2018
Só completando o que o Estevão Dias postou.
Não sou a pessoa mais religiosa, mas tenho de concordar com a passagem da bíblia que diz:
"Tudo me é permitido, mas nem tudo convém".
Quem vai criar a arquitetura de uma aplicação define o que será usado e hoje temos uma infinidade de opções.
Contudo temos de ter o com senso e seguir as melhores práticas e no caso Angular, Vue, React e outros foram feitos para usar REST, pois é o casamento perfeito.
Como o Estevão disse caso seja necessário utilizar algum legado e isso acontece muito, então não tem outro caminho.
Mas para projetos novos e fortemente indicado usar a tecnologia de acordo que ela foi concebida.
Não sou a pessoa mais religiosa, mas tenho de concordar com a passagem da bíblia que diz:
"Tudo me é permitido, mas nem tudo convém".
Quem vai criar a arquitetura de uma aplicação define o que será usado e hoje temos uma infinidade de opções.
Contudo temos de ter o com senso e seguir as melhores práticas e no caso Angular, Vue, React e outros foram feitos para usar REST, pois é o casamento perfeito.
Como o Estevão disse caso seja necessário utilizar algum legado e isso acontece muito, então não tem outro caminho.
Mas para projetos novos e fortemente indicado usar a tecnologia de acordo que ela foi concebida.
GOSTEI 3
Mais Respostas
Gladstone Matos
26/11/2018
fala Caio blz
SOAP ficou restrito a projetos legados.... nao? =:-0
q achas?
abracos
SOAP ficou restrito a projetos legados.... nao? =:-0
q achas?
abracos
GOSTEI 0
Estevão Dias
26/11/2018
Fala galera,
Fica meio fora de contexto usar SOAP com Angular porque é meio como se o framework fosse feito para o REST. Na verdade, essa era uma dúvida bem recorrente nos primeiros anos do AngularJs e fez até surgir alguns projetos como
https://www.npmjs.com/package/angular-soap
Mas hoje em dia ainda existem projetos para lidar com essas APIs "legadas" como o
https://www.npmjs.com/package/ngx-soap
Digo "APIs legadas" porque o REST se tornou quase que um padrão de mercado para criação de APIs e quase não tenho visto mais se falar em SOAP, exceto quando se trata de algum serviço governamental ou algo assim.
No final rola fazer um cliente Angular para uma API SOAP, mas não usando o framework do jeitinho que ele vem de fábrica. Pelo menos não com grande facilidade. Pra isso teríamos que customizá-lo instalando algumas bibliotecas adicionais no projeto.
Fica meio fora de contexto usar SOAP com Angular porque é meio como se o framework fosse feito para o REST. Na verdade, essa era uma dúvida bem recorrente nos primeiros anos do AngularJs e fez até surgir alguns projetos como
https://www.npmjs.com/package/angular-soap
Mas hoje em dia ainda existem projetos para lidar com essas APIs "legadas" como o
https://www.npmjs.com/package/ngx-soap
Digo "APIs legadas" porque o REST se tornou quase que um padrão de mercado para criação de APIs e quase não tenho visto mais se falar em SOAP, exceto quando se trata de algum serviço governamental ou algo assim.
No final rola fazer um cliente Angular para uma API SOAP, mas não usando o framework do jeitinho que ele vem de fábrica. Pelo menos não com grande facilidade. Pra isso teríamos que customizá-lo instalando algumas bibliotecas adicionais no projeto.
GOSTEI 1
José Rodrigues
26/11/2018
Se precisaremos consumir e enviar dados para uma API no back-end, como utilizaremos os dados de um banco de dados (Mysql) ?
GOSTEI 0
Estevão Dias
26/11/2018
Fala José, beleza?
Esse é justamente o tema da série da qual esse tópico faz parte. A primeira coisa a ser considerada é que o Angular não acessa o banco de dados diretamente, ele precisa de uma API para fazer isso. Você pode ter programado essa API ou não. Caso não tenha sido você quem programou a API você pelo menos conhecer os seus endpoints e qual o retorno de cada um deles.
Por exemplo, supondo que o endpoint da API seja /users e retorno desse endpoint seja uma lista de usuários no formato
[
{id: 1, nome: "Estevao Dias", ...},
{id: 2, nome: "Vladmir da Silva", ...}
]
Na sua aplicação você vai precisar fazer uma requisição para esse endpoint
usuarios = this.http.get<Lembrete>("https://api.dominio.com/users")
E depois processar a lista de retorno de alguma forma
<div class="row mt-3" *ngFor="let usuario of usuarios">
...
</div>
Aqui nesse link você encontra um projeto completo que demonstra como implementar essa funcionalidade
https://www.devmedia.com.br/exemplo/sistema-de-cadastro-de-lembretes-com-angular/91
Esse é justamente o tema da série da qual esse tópico faz parte. A primeira coisa a ser considerada é que o Angular não acessa o banco de dados diretamente, ele precisa de uma API para fazer isso. Você pode ter programado essa API ou não. Caso não tenha sido você quem programou a API você pelo menos conhecer os seus endpoints e qual o retorno de cada um deles.
Por exemplo, supondo que o endpoint da API seja /users e retorno desse endpoint seja uma lista de usuários no formato
[
{id: 1, nome: "Estevao Dias", ...},
{id: 2, nome: "Vladmir da Silva", ...}
]
Na sua aplicação você vai precisar fazer uma requisição para esse endpoint
usuarios = this.http.get<Lembrete>("https://api.dominio.com/users")
E depois processar a lista de retorno de alguma forma
<div class="row mt-3" *ngFor="let usuario of usuarios">
...
</div>
Aqui nesse link você encontra um projeto completo que demonstra como implementar essa funcionalidade
https://www.devmedia.com.br/exemplo/sistema-de-cadastro-de-lembretes-com-angular/91
GOSTEI 3