Ho un WidgetDto che ho annotato con annotazioni UI swagger. La risposta finale racchiude un elenco di WidgetDtos con uno strato di metadati (per pagina 21 del documento RESTful delle best practice di this). Per esempio:Documentare una risposta REST avvolta usando l'interfaccia utente swagger
{
"data" : [
{
"id" : 1234,
"prop1" : "val1"
...
},
{
"id" : 5678,
"prop1" : "val2"
...
},
...
]
}
Il mio codice Java assomiglia a questo:
@GET
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(
value = "Get all widgets.",
response = WidgetDto.class
)
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Returns the list of widgets.")
})
public Response getWidgets() {
List<WidgetDto> widgets;
...
Map<String, Object> responseBody = new HashMap<>();
responseBody.put("data", widgets);
return Response.ok(responseBody).build();
}
vorrei riutilizzare questo modello su più risorse, e io non voglio creare lista DTOS per ogni tipo di risposta . C'è un modo elegante per usare lo swagger per documentare questi tipi di corpi di risposta?
Si può creare una classe wrapper che rappresenta un elenco di 'WidgetDto' all'interno di un campo' dati'? –
@tim_yates sì, ma spero che ci sia una soluzione riutilizzabile che non richiede la creazione di classi wrapper specifiche per ogni tipo di DTO. – Bill