Tôi có một WidgetDto mà tôi đã chú thích với chú thích giao diện người dùng swagger. Câu trả lời cuối cùng kết thúc tốt đẹp danh sách WidgetDtos với một lớp siêu dữ liệu (trên trang 21 của this Tài liệu thực hành tốt nhất RESTful). Ví dụ:Ghi lại phản hồi REST được bao bọc bằng cách sử dụng giao diện người dùng swagger
{
"data" : [
{
"id" : 1234,
"prop1" : "val1"
...
},
{
"id" : 5678,
"prop1" : "val2"
...
},
...
]
}
mã java của tôi trông như thế này:
@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();
}
Tôi muốn tái sử dụng mô hình này trên nhiều nguồn lực, và tôi không muốn tạo DTOs danh sách cho tất cả các loại phản ứng . Có một cách thanh lịch để sử dụng vênh vang để ghi lại các loại cơ quan phản ứng này không?
Bạn có thể tạo lớp bao bọc đại diện cho danh sách 'WidgetDto' bên trong một trường' dữ liệu' không? –
@tim_yates có, nhưng tôi hy vọng có một giải pháp tái sử dụng mà sẽ không yêu cầu tôi tạo ra các lớp bao bọc cụ thể cho từng loại DTO. – Bill