Criar um controlador REST para expor endpoints que permitam interagir com a entidade Product. O controlador deverá incluir operações básicas de criação e consulta de produtos.
Tarefas:
[ ] 📦 Criar a classe ProductController no pacote controller
[ ] 🔄 Implementar os endpoints para criar e buscar produtos
[ ] 🛠️ Usar o serviço ProductService para manipulação da entidade Product
Código de exemplo:
package com.example.demo.controller;
import com.example.demo.model.Product;
import com.example.demo.service.ProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.Optional;
@RestController
@RequestMapping("/api/products")
public class ProductController {
@Autowired
private ProductService productService;
// Endpoint para criar um novo produto
@PostMapping
public ResponseEntity<Product> createProduct(@RequestBody Product product) {
Product createdProduct = productService.save(product);
return ResponseEntity.ok(createdProduct);
}
// Endpoint para buscar um produto por ID
@GetMapping("/{id}")
public ResponseEntity<Product> getProductById(@PathVariable Long id) {
Optional<Product> product = productService.findById(id);
return product.map(ResponseEntity::ok)
.orElseGet(() -> ResponseEntity.notFound().build());
}
}
Explicação:
@RestController: Define a classe como um controlador REST que lida com requisições HTTP.
@RequestMapping("/api/products"): Define a rota base para o controlador.
@PostMapping: Cria um endpoint para criação de produtos via método POST.
@GetMapping("/{id}"): Cria um endpoint para buscar produtos por ID via método GET.
Com essa implementação, temos endpoints funcionais para criar e buscar produtos, utilizando o ProductService para a lógica de negócio.
Issue: 🌐 Implementar Controlador REST
ProductController
Descrição:
Criar um controlador REST para expor endpoints que permitam interagir com a entidade
Product
. O controlador deverá incluir operações básicas de criação e consulta de produtos.Tarefas:
ProductController
no pacotecontroller
ProductService
para manipulação da entidadeProduct
Código de exemplo:
Explicação:
@RestController
: Define a classe como um controlador REST que lida com requisições HTTP.@RequestMapping("/api/products")
: Define a rota base para o controlador.@PostMapping
: Cria um endpoint para criação de produtos via método POST.@GetMapping("/{id}")
: Cria um endpoint para buscar produtos por ID via método GET.Com essa implementação, temos endpoints funcionais para criar e buscar produtos, utilizando o
ProductService
para a lógica de negócio.