Angular: REST ou SOAP no back-end?

Angular

REST

SOAP

26/11/2018

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?
Caio Rolla

Caio Rolla

Curtidas 2

Melhor post

Jothaz

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.
GOSTEI 3

Mais Respostas

Gladstone Matos

Gladstone Matos

26/11/2018

fala Caio blz

SOAP ficou restrito a projetos legados.... nao? =:-0
q achas?

abracos
GOSTEI 0
Estevão Dias

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.
GOSTEI 1
José Rodrigues

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

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
GOSTEI 3
POSTAR