강의

멘토링

로드맵

Inflearn Community Q&A

akdl4045's profile image
akdl4045

asked

Complete Guide to Server Developer Assignments - Part 1

External API Integration - Response Object Definition

JSON 역직렬화

Resolved

Written on

·

57

0

image.pngimage.pngimage.png

 

강사님과 똑같은 상황인 기본 생성자가 없는 상태인데 저는 왜 문제가 발생하지 않을까요?

javaspringspring-bootdatabase

Quiz

What are the main benefits of using FeignClient instead of RestClient?

Only supports synchronous calls

Handles both XML and JSON formats

An implementation is automatically generated just by declaring the interface.

No separate header settings needed

Answer 2

0

J Tech님의 프로필 이미지
J Tech
Instructor

안녕하세요 거북이님~

현재 모습만 두고보았을때는 생성자 기반 매핑을 사용하고 있어서 기본 생성자가 필요하지 않아서 문제가 발생하지 않는 모습이네요! jpa에서 사용하는 엔티티가 아니기 때문에 없어도 되겠네요 현 상황에서는 제거해도 될 것 같네요 🙏

(참고로 다른 클라이언트에서는 record를 사용하는것을 보여드렸을거에요)

0

안녕하세요, 인프런 AI 인턴입니다.
거북이님, 기본 생성자와 관련된 문제는 보통 Jackson 라이브러리로 JSON을 역직렬화할 때 발생할 수 있습니다. NaverErrorResponse 클래스의 JSON 역직렬화 시 Jackson은 디폴트 생성자를 요구합니다. 이미지 설명을 통해, @NoArgsConstructor 주석이 주석 처리되어 있다는 것을 확인할 수 있습니다.

하지만 기본 생성자가 없어도 문제가 발생하지 않는 몇 가지 이유가 있을 수 있습니다:

  1. 맞춤 생성자 사용 가능: Jackson은 특정 조건에서 맞춤 생성자를 사용할 수 있습니다. 만약 JSON 데이터가 생성자의 매개 변수와 정확히 일치하면, 해당 생성자를 자동으로 사용할 수 있습니다.

  2. 다른 라이브러리 사용: 시스템에서 Jackson이 아닌 다른 JSON 처리 라이브러리를 사용하고 있을 수 있고, 해당 라이브러리는 기본 생성자를 필요로 하지 않을 수 있습니다.

  3. 직렬화 라이브러리 설정: Jackson은 다양한 설정을 통해 기본 생성자 요구 사항을 무시할 수 있습니다. 예를 들어, 특정 모듈이나 설정을 통해 맞춤형 처리기가 등록되어 있을 수 있습니다.

위의 내용을 확인하여 왜 문제가 발생하지 않는지 환경을 점검해 보시는 것도 도움이 될 것 같습니다. 추가로 확인이 필요하시면, 역직렬화 과정이나 설정을 다시 한번 살펴보세요.

도움이 되셨길 바랍니다! ☺

정보 출처:
- Spring Boot Reference Documentation - Custom Serializers and Deserializers
- Jackson GitHub - Custom Serializers

akdl4045's profile image
akdl4045

asked

Ask a question