서버로부터 응답하는
Http response 데이터를 제어하기위해서는
jackson 라이브러리를 추가해줘야한다.
implementation 'com.fasterxml.jackson.core:jackson-databind'
build.gradle에 다음 코드를 추가하다음, 빌드시키자.
만약 user 데이터를 웹에 보낼때, 주민번호나, 전화번호를 헤더에 그대로 노출 시키는것을 보안상 위험하다.
그래서 이것을 제어할 수있게 해주는것이 jackson이다.
@Data
@AllArgsConstructor
public class User {
private Integer id;
@Size(min=2)
private String name;
private Date joinDate;
@JsonIgnore
private String password;
@JsonIgnore
private String ssn;
}
Filtering 하고싶은 필드에 @JsonIgnore 어노테이션을 추가한다. (데이터값을 무시하라는 뜻)
다음과 같이 password와 ssn 필드가 표시되지 않는다.
@Data
@AllArgsConstructor
@JsonIgnoreProperties(value = {"password","ssn"})
public class User {
private Integer id;
@Size(min=2)
private String name;
private Date joinDate;
private String password;
private String ssn;
}
또는 개별적인 필드가 아닌, 클래스 레벨에 지정할수도있다.
'RESTful' 카테고리의 다른 글
Rest API version 관리(URI) (0) | 2022.01.16 |
---|---|
@JsonFilter (0) | 2022.01.16 |
Internationalization 다국어처리 (0) | 2022.01.15 |
Validation (0) | 2022.01.14 |
Client 요청 예외처리하기(Status code) (0) | 2022.01.14 |