끄적끄적

[JAVA] Spring Boot json Enum json object or jsonvalue 본문

Back-end/Java

[JAVA] Spring Boot json Enum json object or jsonvalue

mashko 2021. 11. 10. 17:55
반응형

Enum을 사용하며 다양한 형태로 리스폰스에 응용할 방법을 기록해 두고자 한다.
Enum타입을 지정해두고 그냥 리스폰스를 내리면
대체적으로 foo: "A" 란 값으로 이넘의 명이 떨어지기 때문에 요구사항에 맞춰 내려줄 경우가 많다.
첫번째
@JsonValue는 아래와 같이 필드에 넣어 내가 뽑고자 하는 필드에 대한 값을 반환해준다.

@AllArgsConstructor
@Getter
public enum Foo {

  A("a", "에이"),
  B("b", "비");

  @JsonValue
  private String code;
  private String desc;
}

결과
{foo: "a"}
두번째 @JsonFormat(shape = Shape.OBJECT) 객체 형태로 전체값 리턴해주기

@JsonFormat(shape = Shape.OBJECT)
@AllArgsConstructor
@Getter
public enum Foo {

  A("a", "에이"),
  B("b", "비");

  private String code;
  private String desc;
}

결과
{ foo: { code: "a", desc: "에이" } }

반응형

'Back-end > Java' 카테고리의 다른 글

[JAVA] JavaTimeModule 포멧팅  (0) 2021.11.12
[JAVA] Enum 삽질기..  (1) 2021.11.11
[JAVA] JVM 동작원리  (0) 2021.05.10
[JAVA] 의존성 주입(DI)  (0) 2021.05.06
[JAVA] spring - IOC,AOP,DI 란?  (0) 2020.04.13
Comments