2012-09-10 14 views
22

We wszystkich tutoriali i artykułów Czytałem dotyczące Spring 3 za relaksującego uzupełnień wiosennym MVC, mam tylko kiedykolwiek widział jeden sposób na wykorzystanie przechodzą w danych zapytań poprzez @PathVariable, like so:Czy struktura REST Spring Spring MVC może akceptować ciągi zapytań zamiast PathVariables?

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

który odpowiada na coś takiego, jak http://www.example.com/myservlet/shops/{name}, które można ocenić na http://www.example.com/myservlet/shops/thebestshoparound.

Moje pytanie brzmi: czy możliwe jest skonfigurowanie interfejsu RESTful, który pobiera żądania na podstawie klasycznych ciągów zapytań, np. http://www.example.com/myservlet/shops?name=thebestshoparound, zamiast PathVariables?

To wydaje się proste pytanie, ale nie mogę go znaleźć w Internecie.

Odpowiedz

42

Tak, użyj adnotacji @RequestParam, oto przykład:

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

To jest jeden! Dzięki –