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

lb3vh1jj  于 12个月前  发布在  Spring
关注(0)|答案(1)|浏览(214)

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

主机控制器

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

字符串

电子服务

public interface EmployeeService {

    Employee updateEmployees(EmployeeUpdateDTO employeeUpdateDTO);
}

服务介绍

public Employee updateEmployees(EmployeeUpdateDTO employeeUpdateDTO) {

        if(employeeRepo.existsById(employeeUpdateDTO.getEmployeeid()))
        {
            Employee employee = employeeRepo.getById(employeeUpdateDTO.getEmployeeid());
            employee.setEmployeename(employeeUpdateDTO.getEmployeename());
            employee.setAddress(employeeUpdateDTO.getAddress());
            employee.setMobile(employeeUpdateDTO.getMobile());
            employee.setActivestate(employeeUpdateDTO.isActivestate());

            employeeRepo.save(employee);
            return employee;
        }
        else
        {
            System.out.println("Employee ID Not Found");
        }

        return null;
    }

更新DTO

@AllArgsConstructor
@NoArgsConstructor
@Data
public class EmployeeUpdateDTO {

    private Long employeeid;
    private String employeename;
    private String address;
    private int mobile;
    private boolean activestate;

}


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

pom.xml文件

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
            <scope>provided</scope>
        </dependency>

mw3dktmi

mw3dktmi1#

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

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

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

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


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

相关问题