Ответ 1
Это вызвано линией
enableUrlTemplating(true)
in Docket
, которую я скопировал из примера и забыл удалить.
После удаления этой строки все работает как ожидалось.
Я использую библиотеки 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
Как это можно исправить?
Это вызвано линией
enableUrlTemplating(true)
in Docket
, которую я скопировал из примера и забыл удалить.
После удаления этой строки все работает как ожидалось.