Я использую Swagger (io.swagger.v3.oas.annotations
) с Micronaut и пытаюсь задокументировать массив определенного типа как ответ конечной точки, но он не работает. Мой код соответствует документации Swagger 2.x следующим образом:
@Post(uri = '/compute', consumes = MediaType.APPLICATION_JSON)
@Operation(summary = "Get nodes")
@ApiResponse(responseCode = "200",
description = "You got it",
content = @Content(
mediaType = "application/json",
array = @ArraySchema(schema = @Schema(implementation = ActionableNodeDTO.class))
)
)
HttpResponse<List<ActionableNodeDTO>> getNodes(@Body List<NodeActionDTO> nodeActions) {
def actionableNodeDTOs = nodeActionIngestService.processBasic(nodeActions)
HttpResponse.ok(actionableNodeDTOs)
}
Это Groovy. Я попытался использовать ActionableNodeDTO
вместо ActionableNodeDTO.class
и просто HttpResponse
в качестве типа возвращаемого значения функции, но безрезультатно.
Предупреждение о времени компиляции, которое я получаю:
Error reading Swagger ApiResponses for element [io.micronaut.ast.groovy.visitor.GroovyMethodElement@e65e526]: Cannot construct instance of 'io.swagger.v3.oas.models.media.MediaType' (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value
Я не уверен, что делать с этим сообщением. Что мне здесь не хватает?