2017-01-08 1 views
0

REST API를 설계해야하며 DTO에 추가 서비스 정보를 전달하는 문제에 직면했습니다.dto 내에서 서비스 정보 전달

나는 DTO 등이 있습니다

public class UserDto implements Serializable { 

    private Long id; 
    private String login; 
    private String firstName; 
    private String lastName; 
    private String middleName; 

    // getters/setters 
} 

도 나는 DTOS의 목록을 엔드 포인트 하였다.

모든 응답과 함께 AvailableActions를 전달해야합니다. 그런 경우에 가장 좋은 방법은 무엇입니까?

public class Wrapper<T> { 

    private T data; 
    private List<Action> availableActions; 

    // getters/setters 
} 

어떤 아이디어 : 올바른 같은과 모든 결과를 포장인가요? 어떤 thougths? 미리 감사드립니다.

답변

1

예, 포괄은 널리 사용되는 기술 중 하나 인 메타 데이터를 응답과 함께 보내는 방법입니다. 예를 들어 JSON API 표준은이 접근법을 사용합니다.

코드 자체에 대해서. 나는 DTO 객체로부터 API를 생성하는 것을 선호한다. JSON API와 Java를 사용하면 Katharsis을 사용합니다. DTO를 지정하고 JPA 스타일로 주석을 달고 데이터 검색을위한 저장소를 만듭니다. 링크가있는 랩핑은 자동으로 생성됩니다 (모든 엔드 포인트 - getOne, getAll ...). 나는 API 표준 사용량 (JSON API를) 시행 등 모든 LinkWrappers, PaginationMetadataWrappers 없애 이런 식으로 ...


유사 API 건설 (응답 객체에 부착 search_metadata는) 적어도에 트위터에 의해 사용된다 this example.