2016-08-01 10 views
1

나는 하이퍼 미디어를 구현하기 위해 spring-hateoas 라이브러리를 사용하여 RESTful API를 구축하고 있습니다. 내 엔드 포인트의 응답은 application/hal + json입니다 (My DTO는 ResourceSupport를 확장합니다).Springfox를 사용하여 Swagger UI의 하이퍼 미디어

저는 Swagger를 사용하여 엔드 포인트를 문서화하고 Springfox를 사용하여 swagger-ui를 자동 생성합니다.

문제는 생성 된 설명서가 올바르지 않다는 점입니다. 게시물 엔드 포인트에 대한 요청으로

은 UI는 페이로드의 일부로서 내 DTO에서 _links 섹션을 설정하는 것입니다, 그래서 이것은 내가 내 POST 엔드 포인트에 대한 매개 변수로 전송해야 볼 것입니다 :

{ 
    "category": "string", 
    "creator": "string", 
    "description": "string", 
    "id": 0, 
    "links": [ 
    { 
     "href": "string", 
     "rel": "string", 
     "templated": true 
    } 
    ], 
    "period": 0, 
    "recipient": 0, 
    "title": "string", 
    "type": 0 
} 

내 질문은 : springfox가 매개 변수 내용 유형으로 application/hal + json을 인식하도록하는 방법이 있습니까? 없는 경우에는 요청에서 _links 섹션을 숨기는 방법이 있습니까? 다음과 같이

답변

0

그래서, 내가 링크 섹션 숨어있는 유일한 방법은 참으로 숨겨진 setLinks의 ResourceSupport을 확장 내 DTO의 방법 및 설정을 재정의했다 :

@ApiModelProperty(hidden = true) 
public void setLinks(final Link... links) { 
    super.add(links); 
}