spring 找不到Sping Boot 类的序列化程序

lb3vh1jj  于 2024-01-05  发布在  Spring
关注(0)|答案(1)|浏览(280)

我正在创建一个Spring的 Boot crud应用程序,而运行的项目,我得到的错误是我下面附上。
第一个月
到目前为止我尝试了什么,我附在下面,请检查。

主机控制器

  1. @PutMapping(path = "/update")
  2. public Employee updateEmployee(@RequestBody EmployeeUpdateDTO employeeUpdateDTO)
  3. {
  4. return employeeService.updateEmployees(employeeUpdateDTO);
  5. }

字符串

电子服务

  1. public interface EmployeeService {
  2. Employee updateEmployees(EmployeeUpdateDTO employeeUpdateDTO);
  3. }

服务介绍

  1. public Employee updateEmployees(EmployeeUpdateDTO employeeUpdateDTO) {
  2. if(employeeRepo.existsById(employeeUpdateDTO.getEmployeeid()))
  3. {
  4. Employee employee = employeeRepo.getById(employeeUpdateDTO.getEmployeeid());
  5. employee.setEmployeename(employeeUpdateDTO.getEmployeename());
  6. employee.setAddress(employeeUpdateDTO.getAddress());
  7. employee.setMobile(employeeUpdateDTO.getMobile());
  8. employee.setActivestate(employeeUpdateDTO.isActivestate());
  9. employeeRepo.save(employee);
  10. return employee;
  11. }
  12. else
  13. {
  14. System.out.println("Employee ID Not Found");
  15. }
  16. return null;
  17. }

更新DTO

  1. @AllArgsConstructor
  2. @NoArgsConstructor
  3. @Data
  4. public class EmployeeUpdateDTO {
  5. private Long employeeid;
  6. private String employeename;
  7. private String address;
  8. private int mobile;
  9. private boolean activestate;
  10. }


这是我在下面附加的pom.xml文件。我列出了添加的依赖项

pom.xml文件

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-data-jpa</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-web</artifactId>
  8. </dependency>
  9. <dependency>
  10. <groupId>com.mysql</groupId>
  11. <artifactId>mysql-connector-j</artifactId>
  12. <scope>runtime</scope>
  13. </dependency>
  14. <dependency>
  15. <groupId>org.springframework.boot</groupId>
  16. <artifactId>spring-boot-starter-test</artifactId>
  17. <scope>test</scope>
  18. </dependency>
  19. <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
  20. <dependency>
  21. <groupId>org.projectlombok</groupId>
  22. <artifactId>lombok</artifactId>
  23. <version>1.18.22</version>
  24. <scope>provided</scope>
  25. </dependency>

mw3dktmi

mw3dktmi1#

问题与Jackson使用JPA实体进行序列化有关,原因如下:What does @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) do?
在Employee类上使用以下注解:

  1. @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})

字符串
或者,您可以按照例外情况的建议设置此属性:

  1. spring.jackson.serialization.fail-on-empty-beans=false


注意:此属性将影响应用程序中的所有序列化
希望这对你有帮助:D

相关问题