Pregunta

Estoy haciendo un simple 'Obtener' en JBoss / Spring.Quiero que el cliente me pase una variedad de enteros en la URL.¿Cómo lo configuro en el servidor?Y mostrar si el cliente envía el mensaje?

Esto es lo que tengo ahora mismo.

@RequestMapping(value="/test/{firstNameIds}", method=RequestMethod.GET)
@ResponseBody
public String test(@PathVariable List<Integer> firstNameIds)
{
     //What do I do??
     return "Dummy"; 
}

en el cliente, me gustaría pasar algo como

http://localhost:8080/public/test/[1,3,4,50]

Cuando hice que recibo un error:

java.lang.illegalstateException: No se pudo encontrar @PathVariable [Firstnameids] en @RequestMapping

¿Fue útil?

Solución

GET http://localhost:8080/public/test/1,2,3,4

@RequestMapping(value="/test/{firstNameIds}", method=RequestMethod.GET)
@ResponseBody
public String test(@PathVariable String[] firstNameIds)
{
    // firstNameIds: [1,2,3,4]
    return "Dummy"; 
}

(probado con la primavera MVC 4.0.1)

Otros consejos

Debes hacer algo como esto:

Llamada:

GET http://localhost:8080/public/test/1,2,3,4

su controlador:

@RequestMapping(value="/test/{firstNameIds}", method=RequestMethod.GET)
@ResponseBody
public String test(@PathVariable List<Integer> firstNameIds) {
     //Example: pring your params
     for(Integer param : firstNameIds) {
        System.out.println("id: " + param);
     }
     return "Dummy";
}

Si desea utilizar corchetes - []

DELETE http://localhost:8080/public/test/[1,2,3,4]

@RequestMapping(value="/test/[{firstNameIds}]", method=RequestMethod.DELETE)
@ResponseBody
public String test(@PathVariable String[] firstNameIds)
{
    // firstNameIds: [1,2,3,4]
    return "Dummy"; 
}

(probado con la primavera MVC 4.1.1)

Podría hacer @PathVariable String IDS, luego analizar la cadena.

así que algo así como:

@RequestMapping(value="/test/{firstNameIds}", method=RequestMethod.GET)
@ResponseBody
public String test(@PathVariable String firstNameIds)
{
     String[] ids = firstNameIds.split(",");
     return "Dummy"; 
}

pasarías:

http://localhost:8080/public/test/1,3,4,50

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top