第一次使用 REST 并尝试在 REST 请求 URL 中将 JSON 字符串作为路径变量发送,我正在做什么以从客户端发送请求:
JSONObject json = new JSONObject();
try {
json.put("Test", "123");
json.put("tracks", "1234");
jj = json.toString();
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String url = "http://localhost:8090/webApp/restresource/"+jj+".do";
st = (String) restTemplate.postForObject(url,jj, String.class, jj);
休息服务器:
@RequestMapping(value = "/restresource/{code}", method=RequestMethod.POST, consumes= "application/json")
public @ResponseBody String useJson(@PathVariable String jj) {
String result;
JSONObject jObject = new JSONObject();
try {
result = jObject.getJSONObject(jj).toString();
} catch (JSONException jse) {
jse.printStackTrace();
}
return result;
}
我得到的例外是not enough variable values to expand "Test"
编辑:我的请求网址如下所示:
http://localhost:8090/app/restResource/%7B%22%22:%22123%22,%22tracks%22:%221234%22%7D.do
甚至看到了HttpClientErrorException!任何帮助表示赞赏!