Pular para o conteúdo principal

Questão de Programação — Frameworks em Programação — FCC 2025

ProgramaçãoFrameworks 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
  1. A@ApiOperation e @ApiParam do pacote io.swagger.annotations para descrevera operação e o parâmetro.
  2. B@ApiResponse do pacote io.swagger.annotations combinado com @Operation do io.swagger.v3.oas.annotations.
  3. Capenas @GetMapping sem anotações do Swagger, pois springdoc-openapi gera documentação automaticamente.
  4. D@Schema no método do controlador para descrever o parâmetro (id).
  5. 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.

Gabarito: letra E

Link permanente: /questoes/fc074358