Sobes.tech
Junior — Middle

Como distinguir os métodos HTTP GET, POST, PUT, PATCH e DELETE no contexto do trabalho com REST API?

sobes.tech IA

Resposta da IA

Na API REST, os métodos HTTP são utilizados para diferentes operações com recursos:

  • GET — obter dados. Método seguro e idempotente, não altera o estado do servidor.
  • POST — criar um novo recurso ou realizar uma operação que altera o estado. Não é idempotente.
  • PUT — atualização completa do recurso. É idempotente, uma requisição repetida com os mesmos dados não alterará o resultado.
  • PATCH — atualização parcial do recurso. Não necessariamente idempotente, depende da implementação.
  • DELETE — eliminar um recurso. É idempotente, uma chamada repetida eliminará o recurso ou indicará que não existe.

Exemplo:

Método Operação Idempotência Exemplo de uso
GET Obter dados Sim Obter lista de utilizadores
POST Criar recurso Não Criar um novo utilizador
PUT Atualizar recurso Sim Substituir perfil de utilizador
PATCH Atualizar parcialmente Parcialmente Atualizar email do utilizador
DELETE Eliminar recurso Sim Eliminar utilizador

Exemplo em Java usando Spring:

@GetMapping("/users/{id}")
public User getUser(@PathVariable String id) { ... }

@PostMapping("/users")
public User createUser(@RequestBody User user) { ... }

@PutMapping("/users/{id}")
public User updateUser(@PathVariable String id, @RequestBody User user) { ... }

@PatchMapping("/users/{id}")
public User patchUser(@PathVariable String id, @RequestBody Map<String, Object> updates) { ... }

@DeleteMapping("/users/{id}")
public void deleteUser(@PathVariable String id) { ... }