Esse é como esta meu controller
package com.example.spring.resource;
import com.example.spring.dtos.inputs.EmpresaInputDTO;
import com.example.spring.dtos.outputs.EmpresaOutputDTO;
import com.example.spring.entities.Empresa;
import com.example.spring.services.EmpresaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import static org.springframework.http.ResponseEntity.ok;
@RequestMapping("/empresa")
@RestController
public class EmpresaResource {
private final EmpresaService empresaService;
@Autowired
public EmpresaResource(EmpresaService empresaService){
this.empresaService = empresaService;
}
@GetMapping
public List<EmpresaOutputDTO> getAllEmpresa(){
return this.empresaService.getAllEmpresa();
}
@GetMapping("{id}")
public ResponseEntity<EmpresaInputDTO> getEmpresaById(@PathVariable(value = "id") Long empresaid){
Empresa empresa = empresaService.getEmpresaById(empresaid);
return ResponseEntity<EmpresaInputDTO>.ok().body(empresa);
}
@PostMapping
public ResponseEntity<EmpresaOutputDTO> createEmpresa(@RequestBody EmpresaInputDTO dto){
Empresa empresa = empresaService.createEmpresa(dto.transformaDTO());
return new ResponseEntity<>(EmpresaOutputDTO.transformaEmDTO(empresa), HttpStatus.CREATED);
}
@PutMapping("/{id}")
public ResponseEntity<Empresa> updateEmpresa(@PathVariable(value = "id") Long empresaId, @RequestBody Empresa dto){
Empresa empresa = empresaService.updateEmpresa(empresaId,dto);
return ok().body(empresa);
}
}