需要将从restful Web服务的URL中获取的参数值和数据类型设置为HashMap

时间:2012-09-05 10:15:40

标签: spring rest spring-mvc

@RequestMapping(value = "/{methodName}/{responseType}", method = RequestMethod.GET)
public ModelAndView execute(@PathVariable String methodName, @PathVariable String responseType, 
        HttpServletRequest request, HttpServletRequest response){               
    Map<String,String> yesMap = new HashMap<String,String>();
}

如上面的代码所示,我需要获取从{responseType}传递的参数的数据类型,并在yesMap中设置相同的参数值。

String param=request.getParameter("id");

返回空值。

2 个答案:

答案 0 :(得分:0)

在您上面发布的代码中,跟随电话

yourRootUrl/cheese/stilton

将导致这些在“执行”方法中成立:

methodName.equals("cheese");
responseType.equals("stilton");

我不明白你想要实现的目标。您的参数名称令人困惑。

它很简单,你已经声明了两个字符串参数,这要归功于spring可以是路径变量。

这是一个GET请求,因此getParamter不起作用,请尝试使用与您的路径变量完全无关的String param=request.getAttribute("id");。或者像这样的差异动画RequestParam

@RequestMapping(value = "/{methodName}/{responseType}", method = RequestMethod.GET)
public ModelAndView execute(@PathVariable String methodName, @PathVariable String responseType, @RequestParam int id) 

答案 1 :(得分:0)

  

需要获取从{responseType}

传递的参数的数据类型

当您在String responseType收集它时,其类型始终为String

get data types of parameters passed from {responseType} and set the same in yesMap against parameter values

我认为yesMap.put("String",responseType);会这样做。