Sto utilizzando le librerie Springfox
per generare documentazione per il servizio REST e visualizzarlo nell'interfaccia utente di Swagger. Ho seguito le indicazioni in Springfox documentation.Utilizzo del metodo annotato @RequestParam con ui swagger
devo un controller che utilizza parametri di stringa di query e il metodo è mappato come segue:
@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)
Il mappatore conseguente swagger-ui poi visualizzata come:
GET /customcollection/{id}/data{?startDate,endDate}
parametri sono visualizzato correttamente nell'interfaccia utente:
Ma quando clicco su provarlo, l'URL della richiesta è deformati:
http://localhost:8080/customcollection/1/data {? StartDate, endDate}? StartDate = 1 & endDate = 2
Come può essere fisso?
grazie per la risposta! cosa fa comunque enableUrlTemplating? – codeshark
Decide se utilizzare i modelli di URL per i percorsi. Ciò è particolarmente utile quando si dispone di API di ricerca che potrebbero avere più mapping di richieste per ogni caso di utilizzo di ricerca. Questa è una funzione di incubazione che potrebbe non continuare a essere supportata dopo che la specifica swagger è stata modificata per adattarsi all'usecase come descritto nel numero 711 –