2012-09-10 17 views
22

En todos los tutoriales y artículos que he leído en relación con la primavera de 3 adiciones RESTful a Spring MVC, sólo he visto nunca un camino para el uso de pasar de datos de consulta, a través de un @PathVariable, like so:Can Spring El marco REST de MVC acepta cadenas de consulta en lugar de PathVariables?

@RequestMapping(value="/shops/{name}", method=RequestMethod.GET) 
public @ResponseBody Shop getShopInJSON(@PathVariable String name) { 
    ... 
} 

cuales respondería a algo como http://www.example.com/myservlet/shops/{name}, que podría evaluarse a http://www.example.com/myservlet/shops/thebestshoparound.

Mi pregunta es esta: ¿es posible configurar una interfaz RESTful que tome solicitudes basadas en cadenas de consulta clásicas, p. http://www.example.com/myservlet/shops?name=thebestshoparound, en lugar de PathVariables?

Esto parece una pregunta muy simple, pero no puedo encontrarla en ninguna parte en línea.

Respuesta

42

Sí, utilizar la anotación @RequestParam, aquí hay un ejemplo:

public @ResponseBody Shop getShopInJSON(@PathVariable String name, @RequestParam(value="query", required=false) String query) { 
    // do stuff 
} 
+0

Ese es el uno! Gracias –

Cuestiones relacionadas