DEV Community

Isaac Maciel
Isaac Maciel

Posted on

Entendendo APIs e sua estrutura.

O que é uma API?

API significa Application Programming Interface (em português: Interface de Programação de Aplicações).

Basicamente: API é um jeito de um sistema conversar com outro, trocando informações de forma organizada e seguindo regras pré-definidas.

Ou seja, se um sistema quer pegar dados de outro, mandar informações, criar algo, atualizar algo… a API é quem faz essa ponte.

Toda API trabalha via Web

Quando falamos de APIs como REST, elas se comunicam usando HTTP/HTTPS, o mesmo protocolo que tem no navegador.

Tudo é feito através de URLs chamadas endpoints.

Endpoint = endereço onde o serviço da API está disponível.

Toda Requisição Gera uma Resposta

: pediu → recebe algo de volta.

A API responde com: dados, confirmação,ou um erro dizendo o que deu errado.

E sempre vem acompanhado de um status code.
Os principais:

200 – OK → Deu bom.
201 – Created → Recurso criado com sucesso.
204 – No Content → Funcionou, mas não tem nada pra retornar.
400 – Bad Request → Você mandou algo errado.
404 – Not Found → O que pediu não existe.
500 – Internal Server Error → Erro no servidor (algo interno quebrou).

Os métodos HTTP (os “verbos” da API)

Quando você acessa um endpoint, você sempre usa um método.

  1. GET – Buscar dados
  2. POST – Enviar dados (criação de recurso)
  3. PUT – Atualizar um recurso existente
  4. PATCH – Atualizar parte de um recurso
  5. DELETE – Deletar um recurso

Outros detalhes Importantes (que vale muito saber)

Os formato de Dados, hoje em dia, a maioria das APIs usa JSON.
Exemplo:

{
"id": 1,
"nome": "Isaac",
"email": "isaac@example.com"
}

JSON é leve, fácil de ler e funciona bem com praticamente todas as linguagens.

Headers

São informações adicionais que você envia na requisição.
Exemplos comuns:

  1. Tipo do conteúdo (JSON)
  2. Token de autenticação
  3. Idioma
  4. Permissões
  5. Sem headers, várias APIs nem deixam você acessar.

Autenticação

Nem toda API é aberta. Muitas exigem uma maneira de provar que você tem permissão.

Os mais usados:

  1. API Key
  2. Bearer Token
  3. JWT
  4. OAuth2

Versionamento

APIs mudam com o tempo. Por isso existe versionamento:
/api/v1/clientes
/api/v2/clientes

Exemplo Bem Simples de API com Spring Boot

Você pode criar pelo Spring Initializr:
https://start.spring.io/

Depois, uma API simples:

@RestController
@RequestMapping("/api")
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Olá! API funcionando :)";
}
}


Spring initializr: https://start.spring.io/
Linkedin: https://www.linkedin.com/in/isaac-bessa-044a14321/

Top comments (0)