Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Usando o POST

Então usando o POST vai incluir uma informação na minha base de dados? Isso não é perigoso? Inserir informações no banco?

7 respostas

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.

Segue o link: https://www.alura.com.br/artigos/diferencas-entre-get-e-post?gclid=CjwKCAjw9pGjBhB-EiwAa5jl3DZJs3KLuvh3ljbwtSV2MMVcYB6rY0N8DSUGucchmQ46zT9M-4ouHBoCyzwQAvD_BwE

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?

solução!

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/