Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

440
Visualizações
Spring Boot: ¿cómo obtener todos los parámetros de solicitud en un mapa en Spring RestController?

Ejemplo de URL:

 ../get/1?attr1=1&attr2=2&attr3=3

No sé los nombres de attr1, att2 y attr3.

Cuando ejecuté este código, obtengo el tamaño de 'allRequestParams' igual a 1

 @RequestMapping(value = "/get/", method = RequestMethod.GET) public String search( @RequestParam Map<String,Integer> allRequestParams) { System.out.println(allRequestParams.size()); return ""; }

¿Es un problema con Spring o escribí un código incorrecto? ¡Gracias!

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Si está pasando los atributos de la solicitud en forma de parámetros de consulta, puede obtenerlos directamente usando HttpServletRequest. Pase como parámetro a su método y utilícelo como httpServletRequest.getParameterMap(). Esto devolverá un java.util.Map inmutable de parámetros de solicitud. Cada entrada del mapa tendrá la clave de tipo String y el valor de tipo String[]. Entonces, si solo tiene un valor, puede acceder directamente como entrada. getValue () [0] le daría el primer valor. El código se parece a esto para acceder a los valores.

 @RequestMapping(value = "/get/", method = RequestMethod.GET) public String search(HttpServletRequest httpServletRequest) { Map<String, String[]> requestParameterMap = httpServletRequest.getParameterMap(); for(String key : requestParameterMap.keySet()){ System.out.println("Key : "+ key +", Value: "+ requestParameterMap.get(key)[0]); } return ""; }

Espero que esto ayude !!

about 4 years ago · Santiago Trujillo Relatório

0

Puede definir un POJO que contenga un mapa. Algo como a continuación:

 @RequestMapping(value = "/get/{searchId}", method = RequestMethod.POST) public String search( @PathVariable("searchId") Long searchId, @RequestParam SearchRequest searchRequest) { System.out.println(searchRequest.getParams.size()); return ""; } public class SearchRequest { private Map<String, String> params; }

Objeto de solicitud:

 "params":{ "birthDate": "25.01.2011", "lang":"en" }
about 4 years ago · Santiago Trujillo Relatório

0

Para su ejemplo específico, ¿no le falta un @PathVariable para acceder a la variable Path con el valor "1" en su URL de ejemplo?

 @RequestMapping(value = "/get/{searchId}", method = RequestMethod.GET) public String search( @PathVariable("searchId") Long searchId, @RequestParam Map<String,String> allRequestParams) { System.out.println(allRequestParams.size()); return ""; }

Además, ¿estás importando java.util.Map?

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda