VERBOS WEBAPI

 Tópico anterior Próximo tópico Novo tópico

VERBOS WEBAPI

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#456209 - 17/01/2016 12:45:38

DS2T
BARRA MANSA
Cadast. em:Novembro/2010


Última edição em 17/01/2016 12:47:25 por DS2T

Olá a todos!

Sou iniciante nessa parte de WebApi.
Reparei que os métodos precisam ser assinados. de forma que o inicio de seus nomes tenha um verbo.
Exemplo:

GETusuario
POSTusuario
DELETEusuario
PUTusuario

Li alguns artigos que dizem basicamente:

Use Get para solicitar alguma informação;
Use Post para inserir alguma informação;
Delete para deletar;
Put para atualizar;

Mas também vi posts falando que você podia usar Put e Post da mesma forma.
Só que não entendi uma coisa.

Quando eu consumo qualquer método/função WebApi, ele executa uma subrotina qualquer. Quero saber, o que me impede de num método assinado com Delete, eu persistir alguma informação, por exemplo? O que me impede de eu querer solicitar a informação no Post? Tendo em vista que eu posso retornar um HttpMessage da mesma forma... É apenas convenção isso daí? Muda alguma coisa?

Se a pergunta for idiota, peço desculpas.

Grande abraço!


"Cansei de frases intelectuais" - Eu mesmo


Resposta escolhida #456212 - 17/01/2016 14:02:28

LAMPIAO
SAO CAETANO DO SUL
Cadast. em:Setembro/2004


Última edição em 17/01/2016 14:04:32 por LAMPIAO

Fala DS2T, finalmente estou de volta, de volta ao trabalho.

Veja só, isso faz parte de uma convenção/padrão/regra, não precisa seguir essa convenção, a menos que você queira tornar sua API pública, então quem for consumir vai se basear no padrão, mesmo assim você pode documentar a API mostrando como consumir os recursos que não seguem o padrão.

Embora seja possível usar sem especificar os verbos e dessa forma vai seguir o padrão, o correto é definir os verbos corretamente.

Partindo desse ponto de vista, você não precisa seguir a risca, eu mesmo só uso o POST e o GET, na minha visão não importa se você esta enviando uma informação nova para ser inserida no banco ou se esta enviando dados para alteração ou mesmo exclusão, eu uso o POST para isso, e ele pode me retornar alguma coisa, como por exemplo o próprio objeto persistido ou uma mensagem de sucesso ou não na operação, já o GET uso apenas para recuperar informações.

Então mesmo que você não siga o padrão, tente pelo menos ter um padrão definido por você mesmo, não tente resumir tudo em apenas um verbo, vai ficar esquisito demais.

Para mim o GET e o POST tem sido mais do que suficiente para fazer o que eu faço, GET apenas para recuperar algo e o POST para postar algo, não importando se esse algo é novo, se é para alterar ou apenas para excluir ok.

Lembrando que é uma forma que eu mesmo moldei para o meu ambiente, e que no momento funciona muito bem, não representa a palavra final do que é correto, não dá pelo menos para mim seguir todos os padrões de mercado, o DDD mesmo é um exemplo, comecei a usar parte dele no meu projeto, mas nem tudo foi possível aplicar e demanda muito tempo e muitos testes.

Abraços






#456220 - 17/01/2016 17:41:16

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
LAMPIAO, disse tudo que eu iria dizer...

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#456276 - 20/01/2016 01:24:19

DS2T
BARRA MANSA
Cadast. em:Novembro/2010


Entendi Lampião!

Obrigado cara!
Boa volta ao trabalho aí! Tudo de bom!



"Cansei de frases intelectuais" - Eu mesmo


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por DS2T em 20/01/2016 01:24:34