2017-02-07 1 views
0

스프링 데이터 나머지를 통해 공개 된 API는 대부분 읽기 전용이지만 PATCH 요청을 통해 일부 속성을 업데이트 할 수 있습니다.스프링 데이터 나머지 엔터티를 기본적으로 읽기 전용으로 만들기

특정 속성에 어떤 방식 으로든 주석을 추가하지 않으면 본질적으로 엔터티를 읽기 전용으로 만드는 전역 수준에서 구성이 있습니다 (Jackson이 가정합니다).

나는 모든 읽기 전용 속성에 주석을 달지 않아도되지만 잭슨 주석은 @JsonProperty(access = Access.READ_ONLY)에 익숙합니다.

예를 들어, 아래 클래스가 명시 적으로 주석을 달았던 필드 만이 쓰기 가능할 것입니다. 다른 모든 필드는 기본적으로 읽을 수 있습니다.

public class Thing{ 

    private String fieldOne; 

    @JsonProperty(access = Access.READ_WRITE) 
    private String fieldTwo; 

    private String fieldThree; 

    // a lot of other properties 
} 

클래스 구성에 실패 할 수있는 항목이 있습니까?

답변

0

클래스의 모든 속성을 읽기 전용으로 전역 적으로 설정할 수있는 방법을 모르겠습니다. FaserXML 버전 2.6 이상에서는 다음 주석을 사용하여 최소한 무시할 속성 집합을 정의하고 직렬화 만 허용 할 수 있습니다. 다음 주석은 클래스 수준에서 사용되는 :

@JsonIgnoreProperties(value={ "fieldOne", "fieldThree"}, allowGetters=true) 

그것은 당신이 찾고있는 정확하게 아니라, 틀림없이 좀 더 쉽게 코딩합니다.

관련 문제