Questão nº 33
Questão de Tecnologia da Informação · FCC TRT4 2022 (nº 33)
Para documentar uma API acessível externamente a partir de um cenário de microsserviços, um Analista utilizou a especificação Swagger. Para cada operação RESTful na API, ele adicionou uma anotação A, juntamente com anotações B no método Java correspondente, para descrever a operação e suas respostas de erro esperadas. As anotações A e B são, respectivamente,
- A@describeOperation e @errorResponse.
- B@restOperation e @restResponse.
- C@getInfoOperation e @getErrorResponse.
- D@ApiOperation e @ApiResponse. (alternativa correta)
- E@swaggerOperation e @swaggerResponse.
Resposta comentada
Gabarito Alternativa D
Swagger (agora parte da especificação OpenAPI) é uma ferramenta que ajuda a documentar APIs REST de forma padronizada, permitindo que desenvolvedores entendam como usar a API sem precisar do código-fonte. Em Java, usamos anotações (pequenas tags no código) para adicionar essas descrições diretamente aos métodos da API.
(A) Incorreta: `@describeOperation` e `@errorResponse` não são anotações padrão da especificação Swagger/OpenAPI para documentação em Java.
(B) Incorreta: `@restOperation` e `@restResponse` não são anotações padrão da especificação Swagger/OpenAPI para documentação em Java.
(C) Incorreta: `@getInfoOperation` e `@getErrorResponse` não são anotações padrão da especificação Swagger/OpenAPI para documentação em Java.
(D) Correta: Esta é a combinação padrão de anotações da biblioteca Swagger/Springfox para Java. `@ApiOperation` é usada para descrever a operação RESTful (o que ela faz, seus parâmetros, um resumo da funcionalidade), e `@ApiResponse` é usada para descrever as possíveis respostas dessa operação, incluindo códigos de sucesso (ex: 200 OK) e, crucialmente, as respostas de erro esperadas (ex: 400 Bad Request, 404 Not Found, 500 Internal Server Error), tornando a documentação completa e precisa.
(E) Incorreta: Embora "swaggerOperation" e "swaggerResponse" soem intuitivos e relacionados ao contexto, eles não são os nomes das anotações oficiais e amplamente utilizadas pela especificação Swagger/OpenAPI em Java. A armadilha aqui é que a banca criou nomes que parecem corretos e relacionados ao tema "Swagger", mas não correspondem à implementação real das anotações, testando o conhecimento específico dos nomes corretos.
Fonte: FCC TRT4 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.