我希望使用 Spring MVC 实现 REST 服务,我在 URL 中传入以下对象"/url/lookup/{jsonparm}"
:
{"url":"http://bubba.com/foo/bar", "max_hops":3}
我尝试了以下方法:
@RequestMapping(value = "/url/lookup/{jsonparam}", method = RequestMethod.GET)
@ResponseBody
public String urlLookup(@PathVariable("jsonparam") String jsonparam) {
// just to see if I can get the parms
logger.debug("urlLookup get request : " + jsonparam.toString());
JSONObject resp = new JSONObject();
return resp.toString(); // return an empty JSONObject for now
}
所以我通过调用来调用它
http://localhost:8080/v1/wsp/url/lookup/%7B%22max_hops%22%3A3%2C%22url%22%3A%22http%3A%2F%2Fbubba.com%2Ffoo%2Fbar%22%7D
运气不好,请在我的 Jetty 日志中看到以下内容:
WARNING: No mapping found for HTTP request with URI [/v1/wsp/url/lookup/{"max_hops":3,"url":"http://bubba.com/foo/bar"}] in DispatcherServlet with name 'rest'
笔记:
- url 前缀
localhost:8080/v1/wsp/
是正确的,我的 Servlet 和请求映射也是正确的 - 我已更新问题以使用 a
@PathVariable
作为响应者建议的一个
谢谢。