-
@JsonIgnoreBackEnd/Spring Boot 2022. 4. 25. 07:38반응형
Overview
해당 글에서는 @JsonIgnore 애노테이션을 사용하여 응답 데이터를 Filtering 하겠습니다.
기존 응답 데이터는 아래와 같습니다.
// 20220425073134 // http://localhost:8088/goods/1 { "goodsCode": 1, "goodsName": "1번 상품입니다." }
@JsonIgnore 애노테이션을 사용하면 특정 데이터는 응답 데이터에서 제외시킬 수 있습니다.
package com.spring.springboot.domain; import com.fasterxml.jackson.annotation.JsonIgnore; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class Goods { @JsonIgnore private int goodsCode; @Size(min = 5, message = "상품명은 최소 5글자 입력해야 합니다.") @NotEmpty(message = "상품명은 필수 입력 항목입니다.") private String goodsName; }
상품코드에 @JsonIgnore 애노테이션을 붙이면 결과는 아래와 같습니다.
// 20220425073353 // http://localhost:8088/goods/1 { "goodsName": "1번 상품입니다." }
클래스 단위로도 지정이 가능하며 @JsonIgnoreProperties 애노테이션을 사용합니다.
package com.spring.springboot.domain; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor @JsonIgnoreProperties(value={"goodsCode"}) public class Goods { private int goodsCode; @Size(min = 5, message = "상품명은 최소 5글자 입력해야 합니다.") @NotEmpty(message = "상품명은 필수 입력 항목입니다.") private String goodsName; }
반응형'BackEnd > Spring Boot' 카테고리의 다른 글
HATEOAS (0) 2022.05.20 버전 관리(Versioning) (0) 2022.04.26 XML format (0) 2022.04.25 다국어 처리(Internationalization) (0) 2022.04.08 Validation (0) 2022.04.06