Pular para o conteúdo principal

Questão de Programação — Java — FUNDATEC 2023

ProgramaçãoJava
Código
qq896820
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Programação de Sistemas na Tecnologia Java
Java API para RESTful Web Services (JAX-RS) versão 2.0 implementa recursos para responder operações do protocolo HTTP. São anotações dessa API:
  1. A@POST, @GET, @PULL e @DELETE.
  2. B@Path, @Produces, @Consumes e @Context.
  3. C@PathParam, @QueryParam, @MatrixParam e @DefaultParam.
  4. D@PathValue, @DefaultValue, @ContextValue e HeaderValue.
  5. E@FormParam, @FormValue, @FormContext e FormHead.
Revelar gabarito e comentário

GabaritoB — @Path, @Produces, @Consumes e @Context.

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”.

JAX-RS 2.0 – Anotações para RESTful Web Services

Gabarito: letra B. Em JAX-RS 2.0, as anotações @Path, @Produces, @Consumes e @Context são reais e amplamente utilizadas para definir recursos REST, tipos de mídia aceitos/retornados e injeção de contexto. É exatamente isso que a alternativa B apresenta.

A banca testa a memorização das anotações padronizadas pela especificação JAX-RS (JSR 339). Muitas alternativas distorcidas misturam nomes reais com invenções, confundindo quem não domina a lista exata.

Anotações JAX-RS 2.0
  • 1Mapeamento de recurso
    • @Path
    • @GET, @POST, @PUT, @DELETE
  • 2Mídia
    • @Produces
    • @Consumes
  • 3Parâmetros
    • @PathParam
    • @QueryParam
    • @MatrixParam
    • @HeaderParam
    • @CookieParam
    • @FormParam
    • @DefaultValue
  • 4Contexto
    • @Context
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

@PULL não existe em JAX-RS. O verbo HTTP correto é PUT, e a anotação correspondente é @PUT. As demais (@POST, @GET) estão corretas, mas a presença de @PULL torna a alternativa errada.

Alternativa B — ✅ Correta ⟵ GABARITO

Todas as anotações pertencem à JAX-RS:

  • @Path: define o caminho URI do recurso.

  • @Produces: especifica os tipos de mídia que o recurso pode produzir (ex.: MediaType.APPLICATION_JSON).

  • @Consumes: especifica os tipos de mídia que o recurso pode consumir.

  • @Context: permite injetar objetos de contexto (como HttpServletRequest, UriInfo, etc.).

Alternativa C — ❌ Incorreta

@DefaultParam não é uma anotação JAX-RS; o correto é @DefaultValue. As demais (@PathParam, @QueryParam, @MatrixParam) são válidas. A troca sutil de nome (DefaultParam por DefaultValue) é a pegadinha.

Alternativa D — ❌ Incorreta

@PathValue e @ContextValue não existem em JAX-RS. HeaderValue sequer é uma anotação; o correto para obter cabeçalhos é @HeaderParam. Apenas @DefaultValue é verdadeira.

Alternativa E — ❌ Incorreta

Somente @FormParam é uma anotação JAX-RS real. @FormValue, @FormContext e FormHead (sem @) são inválidas.

NÃO CAIA NESSA!

A banca troca nomes de anotações verdadeiras por variações que parecem familiares: @DefaultParam em vez de @DefaultValue, @PULL em vez de @PUT, @PathValue em vez de @Path. Memorize a lista oficial: @Path, @GET, @POST, @PUT, @DELETE, @Produces, @Consumes, @PathParam, @QueryParam, @MatrixParam, @HeaderParam, @CookieParam, @FormParam, @DefaultValue, @Context. Dominando esses nomes, você elimina as alternativas falsas rapidamente.

Gabarito: letra B

Link permanente: /questoes/qq896820