Fundamentos de APIs Web: HTTP, Métodos e Rotas no Back-end Flashcards

(13 cards)

1
Q

HTTP

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Componentes de uma Requisição HTTP

A
  • 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).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Componentes de uma Resposta HTTP

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Códigos de Status HTTP

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Métodos HTTP: GET

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Métodos HTTP: POST

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Métodos HTTP: PUT

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Métodos HTTP: PATCH

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Métodos HTTP: DELETE

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Rotas

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Tratamento de Erros

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Segurança

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Versionamento da API

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly