Использование аннотированного метода @RequestParam с swagger ui

Я использую библиотеки Springfox для создания документации для службы REST и отображения ее в пользовательском интерфейсе Swagger. Я выполнил указания в документации Springfox.

У меня есть один контроллер, который использует параметры из строки запроса, и метод отображается следующим образом:

@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)

Получившийся в sagag-ui сопоставитель отобразится как:

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

Параметры отображаются в пользовательском интерфейсе правильно: введите описание изображения здесь

Но когда я нажимаю "Попробовать", URL-адрес запроса неверно определен:

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

Как это можно исправить?

Ответы

Ответ 1

Это вызвано линией

 enableUrlTemplating(true)

in Docket, которую я скопировал из примера и забыл удалить.

После удаления этой строки все работает как ожидалось.