본문 바로가기
IT/Java

ACCEPT_SINGLE_VALUE_AS_ARRAY json format

by 성준하이 2023. 5. 8.
반응형

이전 포스팅에서 Jackson annotation 에 대해서 다룬 적이 있다.

자세한 내용은 아래 참고 포스팅 참고 바란다.

 

이번 포스팅에서는 똑같이 jackson annotation이긴 하지만 다른 사용법으로 사용되는 annotation인 json format 중 하나를 다뤄볼 예정이다.

 

Restapi 를 통해서 json 을 상하차 하다보면 

 

어떨 경우에는

{
  "index": 1,
  "value": "one"
}

이렇게 json 을 보낼경우가 있고,

상황에 따라 리스트로 

{
  "index": 1,
  "value": [
    "one",
    "two"
  ]
}

이렇게 보내야 할 경우가 생길수도 있다.

 

그럴 경우에 dto 에 설정해줄수 있는 annotation 이다.

 

public class Dto {


    @JsonProperty("index")
    private Integer index;
     
    @JsonProperty("value")
    @JsonFormat( with = Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
    private List<String> value = null;
...

이렇게 리스트로 받을 경우가 있을수 있는 컬럼에 json format 으로 

@JsonFormat( with = Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)

를 받아주면 다이나믹 하게 리스트와 1개 컬럼을 상황에 맞게 받을수 있다.

 

리스트로 선언해줘야함이 중요하다.

 


참고 포스팅

https://thenicesj.tistory.com/303

 

jackson annotation 관련

자바에서 , 특히 dto 에서 많이 사용하는 jackson 관련 annotation을 소개하려고 한다. dto 에 대한 정의는 아래 참고 포스팅을 확인해보는것을 추천한다. @JsonProperty 는 json을 받는 쪽에서 이름을 지정하

thenicesj.tistory.com

 

반응형

댓글