Então usando o POST vai incluir uma informação na minha base de dados? Isso não é perigoso? Inserir informações no banco?
Então usando o POST vai incluir uma informação na minha base de dados? Isso não é perigoso? Inserir informações no banco?
Olá, Flavio. Esse curso é sobre documentação de APIs. Não sei se entendi sua dúvida.
Olá, Flavio. A Alura tem um artigo justamente sobre os métodos GET e POST.
Obrigada pelo retorno. Vou me explicar mais corretamente:
Na aula "03 Definindo endpoints", no vídeo "Dados no corpo", criamos o verbo "POST" dentro do path.
Depois fizemos uma requisição onde foi inserida uma nova especialidade (lá no mockapi).
Este é o ponto: Assim, se eu estivesse documentando com o swagger no meu ambiente de produção, fazendo esta requisição, a informação seria inserida no meu banco?
Fazendo a requisição GET, foi retornado o novo valor inserido.
Eu sei que podemos configurar em "servers" o ambiente. Mas realmente não entendi como ficaria no ambiente de produção.
Flavio, se você fizer uma requisição para seu ambiente de produção com todas as credenciais configuradas, o que vai acontecer é o que seu sistema está programado pra fazer. Se vai inserir no banco de dados, chamar um sistema externo ou qualquer outra coisa, foge completamente do escopo desse curso.
E a partir da documentação você não vai realizar requisições para seu sistema de produção. Pelo menos não deveria. Mas caso faça, vai ter autenticação e será uma requisição como qualquer outra.
Oi Vinícius. Muito obrigado pela disposição para responder. Mas não é este o ponto ainda da minha dúvida. Embora não pareça, minha dúvida é relacionada ao escopo do curso (preciso formular melhor minha questão).
O conceito do swagger, a documentação, o uso dos verbos, retornos, entendi. Não tenho problemas quanto a isso. Usados através do botão "Try it Out" deve ter um back-end respondendo. É como um client qualquer chamando a API. Criei a minha doc aqui, ela funciona. Está tudo certo quanto a isso.
Com as respostas que você me deu e com o que andei pesquisando por aí, vou colocar a minha visão. Acredito que seja mais fácil para identificar o meu "gap".
A documentação serve para entender como a API funciona.
Preciso de uma API mas não serei eu a desenvolver? Sem problemas. Crio no swagger e compartilho com quem for desenvolver. Obviamente não vou ter os verbos funcionais, mas o desenvolvedor irá ter o que precisa para criá-la.
A API está pronta? Ótimo. Agora posso usar o botão "Try it Out" para testar, fazendo requisições para algum back-end.
Posso configurar tanto servidores de teste, Homolog, QA, e de produção.
Se não quero expor meu servidor de produção na documentação, blz. Só não o configuro ali no "servers". Resolvido.
Preciso fazer um POST para saber qual o retorno da requisição? Não, claro que não. Só configurar o "responses" do verbo "post" e pronto.
Vale para qualquer outro verbo também.
Está certo?
Uma última dúvida:
Se eu tenho um campo que aceita até certo número de caracteres (um campo "nome" por exemplo), consigo informar isso?
Uma ajudinha só pra fechar o tópico?
Está certo?
Está sim
Se eu tenho um campo que aceita até certo número de caracteres (um campo "nome" por exemplo), consigo informar isso?
type: string
minLength: 3
maxLength: 20
https://swagger.io/docs/specification/data-models/data-types/