web-dev-qa-db-ja.com

Swagger UIで@RequestParamアノテーション付きメソッドを使用する

Springfoxライブラリを使用してRESTサービスのドキュメントを生成し、Swagger UIに表示します。 Springfox documentation の指示に従いました。

クエリ文字列のパラメーターを使用するコントローラーが1つあり、メソッドは次のようにマッピングされます。

@ApiOperation(value = "")
@RequestMapping(method = GET, value = "/customcollection/{id}/data")
public Iterable<CustomeType> getData(@ApiParam(value = "The identifier of the time series.") 
    @PathVariable String id,
    @ApiParam(name = "startDate", value = "start date", defaultValue = "")
    @RequestParam("startDate") String startDate,
    @ApiParam(name = "endDate", value = "end date", defaultValue = "")
    @RequestParam("endDate") String endDate)

結果のswagger-uiのマッパーは、次のように表示されます。

GET /customcollection/{id}/data{?startDate,endDate}

パラメーターはUIに正しく表示されます。 enter image description here

ただし、[試してみる]をクリックすると、リクエストURLの形式が正しくありません。

http:// localhost:8080/customcollection/1/data {?startDate、endDate}?startDate = 1&endDate = 2

どうすれば修正できますか?

22
jny

これは、ラインが原因でした

 enableUrlTemplating(true)

例からコピーして削除するのを忘れたDocket構成で。

この行を削除すると、すべてが期待どおりに機能します。

27
jny