APIエンドポイントへのCURLリクエストを実行すると、リクエストを解析する際にJSONがリクエスト>デリゲート> body内に配置されていることがわかります私が期待しているところrequest.body()
JavaでのPOSTリクエストからのデータの抽出
これは予期せぬ結果で、結果として以下のコードがデータベースにnull値でレコードを作成してしまいます。
カールリクエストを変更する必要がありますか?または、他の方法でデータを抽出しますか?
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
@RealSkeptic jsonがエンドポイントに渡されているのが分かりますが、重要なのは 'body'のせいではありません。なぜなら私は' request.body'で質問することができます。このメソッドは、取得されないPOSTに渡される値を決して保存しません。 – TheMightyLlama