springboot [No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator.] 오류
▶ 문제
springboot 2.6.2 버전을 이용하여 사이드 프로젝트를 진행했습니다. RestController를 만들고 Postman으로 테스트를 했는데 No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator. 오류가 떴습니다.
▶ 코드와 사진
1. 요청을 받을 RestController입니다. UserDto를 @RequestBody로 받아 회원가입을 진행합니다.
@RestController
@RequiredArgsConstructor
public class UserController {
private final UserService userService;
@PostMapping("/signup")
public ResponseEntity<String> signup(@RequestBody UserDto userDto) throws JsonProcessingException {
userService.signup(userDto);
return new ResponseEntity<>("ok", HttpStatus.OK);
}
@PostMapping("/login")
public ResponseEntity<String> login(@RequestBody LoginDto loginDto, HttpServletRequest request){
SessionDto sessionDto = userService.login(loginDto);
HttpSession session = request.getSession();
session.setAttribute(SessionConst.LOGIN_MEMBER,sessionDto);
return new ResponseEntity<>("ok",HttpStatus.OK);
}
}
2. UserDto class입니다.
@AllArgsConstructor
@Data
public class UserDto {
public String email;
public String password;
public String name;
public String role;
public String city;
public String street;
}
3. Postman 요청
4. 오류난 사진
▶ 해결법
오류 내용을 읽어본다면 간단히 해결할 수 있었습니다. 해당 UserDto 클래스는 디폴트 생성자가 없어 오류가 뜨는 상황이었습니다. 그래서 default 생성자를 만들어주었더니 해결되었습니다!!
@AllArgsConstructor
@Data
@NoArgsConstructor // default 생성자 추가
public class UserDto {
public String email;
public String password;
public String name;
public String role;
public String city;
public String street;
}
읽어주셔서 감사합니다!!
'SpringBoot > 기타' 카테고리의 다른 글
테스트 코드를 위해 실제 코드에 영향이 가도 될까?? (0) | 2022.12.26 |
---|---|
Springboot Test 코드 작성 (2) | 2022.03.18 |
Springboot Dto는 많이 만들어도 될까? (0) | 2022.02.22 |
댓글
이 글 공유하기
다른 글
-
테스트 코드를 위해 실제 코드에 영향이 가도 될까??
테스트 코드를 위해 실제 코드에 영향이 가도 될까??
2022.12.26 -
Springboot Test 코드 작성
Springboot Test 코드 작성
2022.03.18 -
Springboot Dto는 많이 만들어도 될까?
Springboot Dto는 많이 만들어도 될까?
2022.02.22