web developer

[ajax] 오류 500 (cannot deserialize from Object value (no delegate- or property-based Creator) 본문

JavaScript

[ajax] 오류 500 (cannot deserialize from Object value (no delegate- or property-based Creator)

trueman 2021. 10. 21. 12:41
728x90
728x90


Request processing failed; nested exception is org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class com.jslhrd.domain.BoardVO]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.jslhrd.domain.BoardVO` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)


BoardVO
package com.jslhrd.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

@Data
@Builder
@AllArgsConstructor 
public class BoardVO {
	public BoardVO() {};
	
	private int idx;
	private String name;
	private String pass;
	private String subject;
	private String contents;
	private String regdate;
	private int readcnt;
}

에러가 발생한 이유?

@Data 는 생성자에 관여하지 않습니다.

@Builder가 만드는 기본생성자가 private으로 만들어서 생긴 결과입니다.


기본생성자를 만들지 않은 이유?

기본생성자를 만들지 않은 것이 아니라 @Builder가 빌더로 객체생성을 하도록 하기위해 기본생성자를 private으로 만들어서 외부에서 생성자를 찾을수가 없는겁니다.


※ 참고 : https://okky.kr/article/518225

728x90
728x90