RequestMapping不识别?(问号)作为使用java REST Call传递的参数的一部分

时间:2012-07-13 10:23:21

标签: spring-mvc

按照:

@RequestMapping(value = {"/abcd/id={id}","/abcd?id={id}"}, method = RequestMethod.GET)

public ModelAndView test(@PathVariable(“id”)String id){

我在代码中指定了上面两种类型的值。当我们打电话给uri但以后没有被识别(即)@RequestMapping没有识别时,前者工作正常吗?(问号) 作为参数传递的一部分。

2 个答案:

答案 0 :(得分:5)

您应该使用@RequestParam作为方法参数获取URL上的参数。

@RequestMapping(value = "/abcd", method = RequestMethod.GET)
public void test(@RequestParam String id) {
    // your code here
}

答案 1 :(得分:1)

url(和uris)中的问号用于将参数与路径分开。

@RequestMapping采用路径,因为它是value属性。因此它不应包含问号。

所以基本上你的第一个案例被解释为一个路径(虽然是一个奇怪的路径)而第二个案例却是错误的。