【发布时间】:2016-08-23 18:27:29
【问题描述】:
存在一个函数,它解析通过 Postman 传入的 JSON,并用于填充对象。然后在 GSON 库的帮助下将该对象作为 JSON 返回。
虽然这很好,但要填充的类变量之一需要能够处理正斜杠(即解析 /some/address 并将其分配给我的类成员 customer_url 并返回给用户 @987654323 @)
当/ 在请求中的任何位置使用时,这适用于任何和所有输入除了。这是一个例子:
http://localhost:8080/myApp/myInterface/populate/someObject/{"SOME_RANDOM_FIELD_TO_EXTRACT_STUFF_FROM": "/some/address" }
它会返回一个404 NOT FOUND 错误。
如果我也可能在控制器中出错,这是我在控制器中的后端代码:
@RequestMapping(value = "/populate/someObject/{json}", method = RequestMethod.PUT, headers = "Accept=application/json", produces = {
"application/json; charset=UTF-8" })
@ResponseBody
public ResponseEntity<String> getPopulateAndReturn(@PathVariable("json") String json) {
JsonService jsonService = new JsonService();
MyClass obj = populateThis(jsonService.convertJsonInputToJsonObject(json));
Gson gson = new Gson();
return new ResponseEntity<String>(gson.toJson(obj), HttpStatus.OK);
}
我查看了相关问题,但没有一个能够引导我找到解决方案,也无法更好地理解问题。
【问题讨论】:
-
这……不常见。 JSON 通常应作为请求正文提供。
-
@chrylis 有什么我可以看的例子吗?我试图搜索一些但不太确定您的意思(构建 API 以以 JSON 格式公开数据的新手)
-
@chrylis 明白了。感谢您指出!