DIOAcad / .github

0 stars 0 forks source link

🌐 Implementar controlador REST `ProductController` #18

Closed Edwanderson closed 2 days ago

Edwanderson commented 2 days ago

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:

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:

Com essa implementação, temos endpoints funcionais para criar e buscar produtos, utilizando o ProductService para a lógica de negócio.