Fundamentos de APIs Web: HTTP, Métodos e Rotas no Back-end Flashcards
(13 cards)
HTTP
O HTTP (Hypertext Transfer Protocol) é um protocolo stateless (sem estado) que define
como as mensagens são enviadas entre o cliente (como um navegador) e o servidor. Ele especifica uma série de regras sobre como as requisições e respostas devem ser
formatadas, além dos códigos de status que indicam o sucesso ou falha de uma
requisição.
Componentes de uma Requisição HTTP
- Método HTTP: Define qual ação o cliente deseja realizar, como GET (obter), POST
(criar), PUT (atualizar), DELETE (remover), entre outros. - URL (Uniform Resource Locator): A URL é o endereço do recurso que o cliente
deseja acessar. - Cabeçalhos (Headers): Contêm informações adicionais sobre a requisição, como
tipo de conteúdo ou tokens de autenticação. - Corpo (Body): O corpo da requisição é onde os dados são enviados (geralmente
utilizado em métodos como POST, PUT e PATCH).
Componentes de uma Resposta HTTP
- Código de Status: Um número que indica o resultado da requisição. Exemplo: 200
OK, 404 Not Found. - Cabeçalhos (Headers): Informações sobre a resposta, como tipo de conteúdo,
cache ou tempo de expiração. - Corpo (Body): Contém os dados que são retornados ao cliente, muitas vezes no
formato JSON ou XML.
Códigos de Status HTTP
Os códigos de status são usados para informar o cliente sobre o sucesso ou falha de sua
requisição. Alguns exemplos incluem:
- 200 OK: A requisição foi bem-sucedida e a resposta contém os dados solicitados.
- 201 Created: Um novo recurso foi criado com sucesso.
- 400 Bad Request: A requisição é inválida ou malformada.
- 404 Not Found: O recurso solicitado não foi encontrado.
- 500 Internal Server Error: O servidor encontrou um erro inesperado.
Métodos HTTP: GET
O método GET é usado para recuperar informações do servidor. Ele é utilizado quando queremos consultar ou ler dados sem alterar o estado do servidor. O GET deve ser idempotente, o que significa que realizar a mesma requisição várias vezes deve retornar sempre o mesmo resultado, sem causar efeitos colaterais.
Exemplo:
Uma API de usuários pode ter a seguinte rota para obter todos os usuários:
GET /usuarios
Essa requisição retorna uma lista de todos os usuários registrados no sistema.
Métodos HTTP: POST
O método POST é utilizado para criar um novo recurso no servidor. Ao contrário do GET, que é apenas uma operação de leitura, o POST permite que dados sejam enviados no corpo da requisição para o servidor, geralmente para inserir novos registros no banco de dados.
Exemplo:
Ao criar um novo usuário, o cliente envia um pedido POST com os dados do usuário nocorpo da requisição:
POST /usuarios
{
“nome”: “João”,
“email”: “joao@example.com”
}
Essa requisição cria um novo usuário no banco de dados com as informações fornecidas.
Métodos HTTP: PUT
O método PUT é utilizado para atualizar um recurso existente no servidor, substituindo-o completamente. Uma requisição PUT deve incluir todos os dados do recurso, mesmo que apenas um campo precise ser alterado.
Exemplo:
Para atualizar as informações de um usuário, podemos enviar uma requisição PUT como esta:
PUT /usuarios/1
{
“nome”: “João Silva”,
“email”: “joao.silva@example.com”
}
Isso atualiza o usuário de ID 1 com as novas informações
Métodos HTTP: PATCH
O método PATCH é utilizado para atualizações parciais de um recurso. Ao contrário do PUT, o PATCH permite que apenas os campos modificados sejam enviados, sem a necessidade de enviar todos os dados do recurso.
Exemplo:
Se você deseja alterar apenas o nome de um usuário, pode usar o método PATCH da
seguinte forma:
PATCH /usuarios/1
{
“nome”: “João Silva”
}
Isso atualiza apenas o campo nome do usuário de ID 1.
Métodos HTTP: DELETE
O método DELETE é utilizado para excluir um recurso do servidor. Ele remove o recurso especificado pela URL da requisição.
Exemplo:
Para excluir o usuário de ID 1, a requisição seria:
DELETE /usuarios/1
Rotas
Em uma API Web, rotas são caminhos definidos no servidor que respondem a uma requisição específica. A rota é associada a um método HTTP (como GET, POST, PUT, DELETE) e a um endpoint, que é a URL completa do recurso.
Tratamento de Erros
Sempre retorne códigos de status HTTP apropriados para indicar o sucesso ou falha da requisição. Utilize mensagens de erro claras e consistentes, como:
- 404 Not Found: Quando o recurso solicitado não existe.
- 400 Bad Request: Quando os dados fornecidos são inválidos.
- 500 Internal Server Error: Quando ocorre um erro inesperado no servidor.
Segurança
Implemente autenticação e autorização adequadas, como OAuth ou JWT, para garantir que apenas usuários autorizados possam acessar ou modificar os dados. Além disso, utilize HTTPS para criptografar as comunicações entre cliente e servidor.
Versionamento da API
Ao criar APIs, é importante garantir que alterações futuras não quebrem a compatibilidade
com versões anteriores. Utilize versionamento de API nas URLs, como /api/v1/usuarios,
para garantir que mudanças não impactem os clientes existentes.