0% acharam este documento útil (0 voto)
49 visualizações5 páginas

Dia 2: Estrutura de Uma API Com Spring MVC

Criação de um controlador com métodos @GetMapping, @PostMapping, @PutMapping, e @DeleteMapping.

Enviado por

devajavinha
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato ODT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
49 visualizações5 páginas

Dia 2: Estrutura de Uma API Com Spring MVC

Criação de um controlador com métodos @GetMapping, @PostMapping, @PutMapping, e @DeleteMapping.

Enviado por

devajavinha
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato ODT, PDF, TXT ou leia on-line no Scribd

Dia 2: Estrutura de uma API com Spring

MVC
• Objetivo: Implementar uma estrutura básica de API RESTful.
• Conteúdo:
• Criação de um controlador com métodos @GetMapping, @PostMapping,
@PutMapping, e @DeleteMapping.
• Como manipular requisições e respostas.
• Atividade Prática:
• Crie um controlador que responde a diferentes endpoints (por exemplo,
/produtos).
• Implemente um método que retorne uma lista de produtos (dummy data).

Dia 2: Estrutura de uma API com Spring MVC

Objetivo
Implementar uma estrutura básica de API RESTful usando Spring MVC, incluindo a criação de
controladores que manipulam requisições HTTP.

Conteúdo

1. Criando um Controlador
Um controlador em Spring MVC é responsável por receber as requisições do cliente e retornar uma
resposta. Para criar um controlador básico que responde a diferentes endpoints, você usará as
anotações @GetMapping, @PostMapping, @PutMapping e @DeleteMapping.
• @GetMapping: Usado para manipular requisições HTTP GET.
• @PostMapping: Usado para manipular requisições HTTP POST.
• @PutMapping: Usado para manipular requisições HTTP PUT.
• @DeleteMapping: Usado para manipular requisições HTTP DELETE.

2. Estrutura de um Controlador
Vamos criar um controlador chamado ProdutoController que irá gerenciar produtos.

Atividade Prática

Passo 1: Criar o Controlador


1. Navegue até o diretório src/main/java/com/exemplo/produtoapi (ou onde você
criou seu pacote).
2. Crie uma nova classe chamada ProdutoController.
java
Copiar código
package com.exemplo.produtoapi.controller;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;

@RestController
@RequestMapping("/api/produtos")
public class ProdutoController {

private List<Produto> produtos = new ArrayList<>();

// Método para listar todos os produtos


@GetMapping
public List<Produto> listarProdutos() {
return produtos; // Retorna a lista de produtos
}

// Método para adicionar um novo produto


@PostMapping
public Produto adicionarProduto(@RequestBody Produto produto) {
produtos.add(produto); // Adiciona o produto à lista
return produto; // Retorna o produto adicionado
}

// Método para atualizar um produto


@PutMapping("/{id}")
public Produto atualizarProduto(@PathVariable Long id, @RequestBody Produto
produtoAtualizado) {
// Implementar lógica para atualizar o produto
// Neste exemplo, apenas retornamos o produto atualizado
return produtoAtualizado;
}

// Método para deletar um produto


@DeleteMapping("/{id}")
public String deletarProduto(@PathVariable Long id) {
// Implementar lógica para remover o produto da lista
return "Produto com id " + id + " deletado"; // Retorna uma mensagem
}
}

Passo 2: Criar a Classe Produto


Você também precisará de uma classe Produto para representar os produtos. Crie uma nova classe
Produto no mesmo pacote.
java
Copiar código
package com.exemplo.produtoapi.controller;

public class Produto {


private Long id;
private String nome;
private double preco;

// Construtores, getters e setters


public Produto() {
}

public Produto(Long id, String nome, double preco) {


this.id = id;
this.nome = nome;
this.preco = preco;
}

public Long getId() {


return id;
}

public void setId(Long id) {


this.id = id;
}

public String getNome() {


return nome;
}

public void setNome(String nome) {


this.nome = nome;
}

public double getPreco() {


return preco;
}

public void setPreco(double preco) {


this.preco = preco;
}
}

Passo 3: Testar a API


Para testar a API, você pode usar ferramentas como Postman ou Insomnia.
1. Listar Produtos:
• Método: GET
• URL: http://localhost:8080/api/produtos
2. Adicionar um Produto:
• Método: POST

• URL: http://localhost:8080/api/produtos

• Body (JSON):
json
Copiar código
{
"id": 1,
"nome": "Produto Exemplo",
"preco": 10.50
}

3. Atualizar um Produto:
• Método: PUT

• URL: http://localhost:8080/api/produtos/1

• Body (JSON):
json
Copiar código
{
"nome": "Produto Atualizado",
"preco": 15.00
}

4. Deletar um Produto:
• Método: DELETE
• URL: http://localhost:8080/api/produtos/1

explique como se eu fosse uma criança de 5 anos as anotaçoes @GetMapping, @PostMapping,


@PutMapping, e @DeleteMapping.

O ChatGPT disse:
ChatGPT
Claro! Vamos imaginar que estamos brincando de um jogo onde você tem uma caixa de brinquedos
e precisa fazer algumas coisas com os brinquedos dentro dela. As anotações @GetMapping,
@PostMapping, @PutMapping e @DeleteMapping são como instruções mágicas que
ajudam a gente a fazer essas coisas.

Imaginando a Caixa de Brinquedos


1. Caixa de Brinquedos: Essa é a sua aplicação. Dentro dela, você tem todos os seus
brinquedos (que são os dados).

As Instruções Mágicas
• @GetMapping:
Imagine que você quer pegar um brinquedo da caixa para brincar. Essa é a instrução que
diz: “Por favor, me mostre os brinquedos que estão na caixa.”
Exemplo: "Me mostre todos os meus carrinhos de brinquedo!"
• @PostMapping:
Agora, vamos imaginar que você tem um novo brinquedo que quer colocar na caixa. Essa
instrução diz: “Por favor, adicione um novo brinquedo na caixa.”
Exemplo: "Coloque meu novo ursinho de pelúcia na caixa!"
• @PutMapping:
Se você tem um brinquedo na caixa, mas quer trocar ele por outro, essa é a instrução que
diz: “Por favor, troque o brinquedo que está aqui por esse novo.”
Exemplo: "Troque meu carrinho vermelho por um carrinho azul!"
• @DeleteMapping:
Agora, se você não quer mais um brinquedo na caixa e quer tirar ele de lá, essa instrução
diz: “Por favor, remova este brinquedo da caixa.”
Exemplo: "Tire meu carro quebrado da caixa!"

Resumindo
• @GetMapping: Pegar ou mostrar algo da caixa (ler dados).
• @PostMapping: Colocar algo novo na caixa (adicionar dados).
• @PutMapping: Trocar ou atualizar algo que já está na caixa (atualizar dados).
• @DeleteMapping: Tirar algo da caixa (remover dados).
Essas instruções ajudam a organizar os brinquedos na caixa, assim como as anotações ajudam a
organizar os dados na sua aplicação! Se precisar de mais ajuda ou explicações, é só avisar!

Você também pode gostar