Enunciado
Uma analista está trabalhando em uma API Spring Boot e precisa documentar os endpoints utilizando anotações do Swagger para descrever operações, parâmetros e respostas. Ela quer garantir que a documentação seja clara e compatível com a especificação OpenAPI 3.0, mas está incerta sobre qual conjunto de anotações usar e como aplicá-las corretamente em um controlador. O endpoint em questão é um GET /processos/(id) que retorna os detalhes de um processo. Nesse cenário, a maneira correta de anotar o endpoint GET /processos/(id) em um controlador Spring Boot para garantir uma documentação precisa e compatível com OpenAPI 3.0, usando a biblioteca springdoc-openapi, é usar
Alternativas
- A)
@ApiOperation e @ApiParam do pacote io.swagger.annotations para descrevera operação e o parâmetro.
- B)
@ApiResponse do pacote io.swagger.annotations combinado com @Operation do io.swagger.v3.oas.annotations.
- C)
apenas @GetMapping sem anotações do Swagger, pois springdoc-openapi gera documentação automaticamente.
- D)
@Schema no método do controlador para descrever o parâmetro (id).
- E)
@Operation e @Parameter do pacoteio.swagger.v3.oas.annotations para descrevera operação e o parâmetro.
Gabarito e comentário
Resposta correta: E
Na springdoc-openapi para OpenAPI 3, @Operation descreve a operação e @Parameter documenta o parâmetro de caminho; são anotações do pacote io.swagger.v3.oas.annotations.