Questão de Programação — Frameworks em Programação — FCC 2025
Programação›Frameworks em Programação
Código
fc074358
Banca
FCC
Órgão
TRF - 4ª REGIÃO
Ano
2025
Nível
Superior
Cargo
Técnico Judiciário - Área Apoio Especializado - Especialidade: Desenvolvimento de Sistema da Informação
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
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.
Capenas @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.
Revelar gabarito e comentário▾
GabaritoE — @Operation e @Parameter do pacoteio.swagger.v3.oas.annotations para descrevera operação e o parâmetro.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Documentação de API com Spring Boot e OpenAPI 3.0
Gabarito: letra E. Para documentar um endpoint em uma API Spring Boot com a biblioteca springdoc-openapi (suporte nativo ao OpenAPI 3.0), as anotações corretas são @Operation e @Parameter do pacote io.swagger.v3.oas.annotations. Essas anotações descrevem a operação (resumo, descrição, respostas) e os parâmetros do endpoint, respectivamente, de acordo com a especificação OpenAPI 3.0. As demais alternativas misturam pacotes antigos (Swagger 2) ou usam anotações inadequadas.
Alternativa A — ❌ Incorreta
Utiliza @ApiOperation e @ApiParam do pacote io.swagger.annotations. Essas anotações pertencem à versão antiga (Swagger 2 / springfox), que não é compatível com OpenAPI 3.0 e não é recomendada para uso com springdoc-openapi. O correto para OpenAPI 3.0 é usar as anotações do pacote io.swagger.v3.oas.annotations.
Alternativa B — ❌ Incorreta
Mistura @ApiResponse do pacote antigo (io.swagger.annotations) com @Operation do pacote novo (io.swagger.v3.oas.annotations). Essa combinação é inconsistente e pode causar conflitos. Além disso, @ApiResponse sozinho não é suficiente; o correto é usar @Operation e @Parameter (ou @ApiResponse da versão 3, se necessário, mas de forma consistente).
Alternativa C — ❌ Incorreta
Afirma que apenas @GetMapping é suficiente, pois o springdoc-openapi gera documentação automaticamente. Embora o springdoc-openapi de fato gere documentação a partir dos mapeamentos e tipos, a questão pede explicitamente o uso de anotações do Swagger para garantir uma documentação precisa. Sem anotações, a documentação pode ser genérica e não descrever detalhes como parâmetros, respostas ou resumos personalizados.
Alternativa D — ❌ Incorreta
@Schema é usada para descrever modelos (schemas) de dados, não operações ou parâmetros diretamente. Ela é colocada em classes DTO ou campos, não no método do controlador. Para descrever o parâmetro id, o correto é @Parameter.
Alternativa E — ✅ Correta ⟵ GABARITO
@Operation e @Parameter do pacote io.swagger.v3.oas.annotations são as anotações padrão do springdoc-openapi para OpenAPI 3.0. @Operation descreve a operação (método HTTP, resumo, descrição, respostas etc.), enquanto @Parameter descreve cada parâmetro individual (como o id no path). Essa é a abordagem correta para uma documentação completa e compatível.
PEGA ESSA DICA!
Sempre que usar springdoc-openapi com Spring Boot, prefira as anotações do pacote io.swagger.v3.oas.annotations. As antigas (io.swagger.annotations) são do springfox e não devem ser misturadas. Consulte a documentação oficial para conhecer todas as anotações disponíveis.