Spring RESTful URL调用传递参数

时间:2014-04-24 17:13:46

标签: spring rest uri

如果testId为 1211.ml:FA890987422 ,如何对以下方法进行URL调用?由于testId中有一个':',我尝试使用URLEncoding(%3A for :)来发出请求

http://localhost:8080/test/1211.ml%3AFA890987422

当我使用上述网址时,我将testId设为 1211 ,而不是 1211.ml:FA890987422 ,即使是'。'不需要URL编码。我究竟做错了什么?另外,如果我想跳过URL编码,是否还有其他方法可以将此testId传递给此方法?

@RequestMapping(value = "/test/{testId}",
   method = RequestMethod.GET,
   produces = "application/xml")
public @ResponseBody String testResource(
    @PathVariable String testId){

    System.out.println("Test Id: "+ testId)
    // other codes follow

}

1 个答案:

答案 0 :(得分:1)

重复问题Spring MVC @PathVariable getting truncated

尝试在请求图中使用正则表达式,它应该让你抓住整个字符串。