2015-02-19 10 views
5

Sagen wir, ich habe eine parametrisierte URL-Ressource wieSwagger (Spray) Pfadparameter innerhalb Ressource URL

/customers/{CUSTOMER-ID}/ownedItems/{ITEM-ID} 

Wie soll ich annotatate/meine Spritzwege aufgeteilt (das Spray-Prahlerei-Plugin), um eine Dokumentation zu erzeugen, wird erkenne {CUSTOMER-ID} als richtigen Pfadparameter?

Mein Problem ist, dass die Top-Ebene @ Api Annotation einen Pfad, aber keine Parameter, während die @ ApiOperation mit Pfad-Parameter kommentiert werden kann, aber diese am Ende angehängt werden. Mit anderen Worten, wenn ich schreibe:

@Api(value = "/customers/{CUSTOMER-ID}") 

@ApiOperation(httpMethod = "GET") 
@ApiImplicitParams(Array(
new ApiImplicitParam(name = "ITEM-ID", required = true, dataType = "string", paramType = "path")) 

bekomme ich in der Benutzeroberfläche nur ITEM-ID als überprüfbarer Parameter, während CUSTOMER-ID, während, wie berichtet wird, {}, ist nur eine Zeichenfolge.

Ich möchte etwas, wo beide Pfadparameter sind.

Irgendeine Idee?

+0

Irgendwelche Updates zu diesem Thema? – vimal1083

+0

Keine Antwort bisher, nicht einmal in PM. –

Antwort

0

Kunden ist Ihr @ Api Einstiegspunkt, nicht Pfadparameter. Pfadparameter müssen nur in @ApiOperation wie folgt verwendet werden (mit mehr Beispielen):

@Api(value = "/customers") 

@ApiOperation(value = "/{CUSTOMER-ID}/ownedItems/{ITEM-ID}", httpMethod = "GET") 
@ApiImplicitParams(Array(
    new ApiImplicitParam(name = "CUSTOMER-ID", required = true, dataType = "string", paramType = "path"), 
    new ApiImplicitParam(name = "ITEM-ID", required = true, dataType = "string", paramType = "path")) 

@ApiOperation(value = "/{CUSTOMER-ID}", httpMethod = "GET") 
@ApiImplicitParams(Array(
    new ApiImplicitParam(name = "CUSTOMER-ID", required = true, dataType = "string", paramType = "path")) 

@ApiOperation(value = "/", httpMethod = "POST") 
Verwandte Themen