[JAVA] @JsonIgnoreProperties(ignoreUnknown=true)

2024. 7. 16. 13:45·백엔드 back-end

 

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "receiveExcelSize" (class com.api.dto.ApiBoardRequestDto), not marked as ignorable (7 known properties: "receiveList", "sequenceno", "receiveExcel", "transactionid", "faxInfo", "agentCode", "reserveTime"])
....

{"transactionid":null,"sequenceno":null,"agentCode":null,"subject":null,"callbackNum":"011112222","fileName":"testfile","file":"UEsDBBQABgAIAAAAIQBi7p1oXgEAAJAEAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAACAAAAAAAAAAAAAAAAAAAAAAAAAAA"[truncated 13049 chars]; line: 1, column: 13497] (through reference chain: com.api.dto.ApiBoardRequestDto["receiveExcelSize"])

 

위와 같은 오류를 해결하기 위해서 쓰는 글입니다. (오류코드 부분라인만 가져왔습니다.) 

살펴보면 

# Unrecognized field "receiveExcelSize" (class com.kt.ums.api.dto.ApiBoardRequestDto)

# (through reference chain: com.api.dto.ApiBoardRequestDto["receiveExcelSize"]) 

 

이 부분을 보면 ApiSendFmsRequestDto에 receiveExcelSize 필드가 없어서 생긴 오류입니다. 

 

 

 ApiSendFmsRequestDto.java 

@JsonIgnoreProperties(ignoreUnknown = true)
public class ApiBoardRequestDto{
...
}

이렇게 어노테이션을 추가해줍니다. 

 

@JsonIgnoreProperties(ignoreUnknown = true)  어노테이션이란 ?

  • 일반적으로 json 데이터와 dto클래스 간의 매핑을 수행할 때, json 데이터에는 dto클래스에 정의되지 않은 속성들이 포함될 수 있다. 이 경우 Jackson은 이러한 추가 속성들을 인식하지 못하고 UnrecognizedPropertyException을 발생시킬수 있다.
  • Jakson Databind에서 사용되는 어노테이션중 하나.
  • json에서 없는 property에 대한 설정시 에러 회피하게 해주는 어노테이션입니다. 

 


참고문헌 

https://junuuu.tistory.com/821

 

Json 파싱시 없는 필드 무시(@JsonIgnoreProperties)

개요 개발을 진행하다 보면 메시지를 받거나, 외부 API응답을 받아올 때 객체가 String형태로 변환되어 해당 형태를 다시 객체로 만들 필요가 있습니다. 이때 받아오는 필드들이 100개가 있고 나는

junuuu.tistory.com

 

'백엔드 back-end' 카테고리의 다른 글

[JPA] 엔티티 클래스 테이터 타입 int, Integer 차이점/ null 값 오류 해결방법  (0) 2024.08.05
[Spring] @Controller & @RestController 차이/ 함께 사용가능? / 사용하는 이유?  (0) 2024.07.23
웹훅[Webhook] 이란 ?  (0) 2024.07.05
로그 레벨 trace/debug/info/warn/error/fatal  (0) 2023.12.12
Lombok  (0) 2023.03.13
'백엔드 back-end' 카테고리의 다른 글
  • [JPA] 엔티티 클래스 테이터 타입 int, Integer 차이점/ null 값 오류 해결방법
  • [Spring] @Controller & @RestController 차이/ 함께 사용가능? / 사용하는 이유?
  • 웹훅[Webhook] 이란 ?
  • 로그 레벨 trace/debug/info/warn/error/fatal
니블
니블
  • 니블
    기록장
    니블
  • 전체
    오늘
    어제
    • 분류 전체보기 (86)
      • 카프카 Kafka (2)
      • 데이터베이스 db (3)
      • 깃 git (4)
      • 백준 baekjoon (31)
      • 백엔드 back-end (20)
      • 점프 투 스프링부트 (8)
      • 메세지 큐 mq (3)
      • 개발도구 tool (3)
      • 레디스 Redis (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    logger
    트러블슈팅
    자바
    restcontroller
    Git
    로거
    2108
    분산처리
    kafka
    mysql
    EC2
    1927
    사용자이름
    db
    스프링부트
    AWS
    분산구조
    gitconfig
    리베이스
    이벤트스트리밍
    Message Queue
    rebase
    heapq
    몽고DB
    최대힙
    SQUASH
    @value
    메세지큐
    백준
    guard clause
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
니블
[JAVA] @JsonIgnoreProperties(ignoreUnknown=true)
상단으로

티스토리툴바