2016-08-01 8 views
1

Ich baue eine RESTful-API, die die Spring-hateoas-Bibliothek verwendet, um Hypermedia zu implementieren. Die Antwort meiner Endpunkte ist application/hal + json (Mein DTO erweitert ResourceSupport).Hypermedia-Links in der Swagger-Benutzeroberfläche unter Verwendung von Springfox

Ich verwende Swagger, um die Endpunkte zu dokumentieren, und Springfox zu verwenden, um das swagger-ui automatisch zu generieren.

Das Problem ist, dass die generierte Dokumentation nicht korrekt ist.

Als Anforderung für einen POST-Endpunkt wird die UI des _links Abschnitts von meinem DTO als Teil der Nutzlast Einstellung, so ist dies, was ich sehe ich als Parameter für meinen POST-Endpunkt senden soll:

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

Also meine Frage ist: Gibt es eine Möglichkeit, Springfox der Anwendung/hal + json als Parameter Inhaltstyp bewusst zu machen? Falls nicht, gibt es eine Möglichkeit, den _links-Abschnitt vor der Anfrage zu verbergen?

Antwort

0

Also, der einzige Weg, ich versteckt die Links Abschnitt fand, war die setLinks Methode in meinem DTO erstreckt ResourceSupport und Satz auf true versteckt außer Kraft zu setzen, wie folgt:

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