【发布时间】:2017-06-28 11:03:13
【问题描述】:
当我对 API 端点执行 CURL 请求时,我发现在解析请求时,我发送的 JSON 被放置在请求 > 委托 > 正文中,而不是我在 @987654323 中所期望的位置@
这是出乎意料的,结果是下面的代码在数据库中创建了一个空值记录。
我需要修改 curl 请求吗?或者以其他方式提取数据?
CURL 请求:
curl -H "Content-Type: application/json" -X POST -d '{"name":"christian"}' http://127.0.0.1:4567/suppliers
POST 代码
post("/suppliers",
(request, response) -> {
response.type("application/json");
Supplier supplier = new Gson().fromJson(request.body(),
Supplier.class);
SupplierCrud sc = new SupplierCrud();
sc.createSupplier(supplier);
return new Gson().toJson(new StandardSupplierResponse(
StatusResponse.SUCCESS,new Gson().toJsonTree(supplier)));
});
【问题讨论】:
-
您提供的代码有何相关性?它不返回适当的 JSON 吗?如果您使用的是方法,为什么要关心变量的内容是什么?该方法是否返回正确的值?
-
@RealSkeptic 代码是相关的,因为我们可以看到 json 被传递到端点,但关键不是在
body下,这是我(认为)我可以用 @ 询问的唯一地方987654327@。该方法永远不会保存传递给 POST 的值,因为它没有被检索到。