VERBOS WEBAPI
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!
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!
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
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
LAMPIAO, disse tudo que eu iria dizer...
Entendi Lampião!
Obrigado cara!
Boa volta ao trabalho aÃ! Tudo de bom!
Obrigado cara!
Boa volta ao trabalho aÃ! Tudo de bom!
Tópico encerrado , respostas não são mais permitidas