マイクロサービスアーキテクチャ(JAX-RS)とnodeJS APIに基づいてプラットフォームを開発しています。IllegalStateException:ターゲットオブジェクトはnullであってはなりません。Springブート
データベースにオブジェクトを追加する際に問題が発生します。なぜなら、常にスプリングブートによってヌルとマークするためです。
@RequestMapping(value="/Add")
public Actifs AjouterActifs(@RequestBody Actifs act){
return Actif.saveT(act);
}
*ここでは、オブジェクトを追加するコードノードAPI "Actifs":ここでは
*は、私のRESTコントローラーコード(JAX-RS)がある
app.post("/act/add",function (req,res) {
var addActif = JSON.stringify(req.body);
console.log("params: "+addActif);
try {
http.get(url+"/Add",+addActif, function (response) { //problem is here "addActif is null"
var dataJson ='';
response.on('data',function(data){
dataJson += data;
});
response.on('end',function(){
try
{
var addAct = JSON.parse(dataJson);
}
catch(err) {
console.log('erreur de retourner l\'actif -->', +err);
}
res.json(addAct);
});
});
}
catch(e) {
console.log("erreur d'ajouter les info d'actif -->", +e);
}
});
このエラーが発生します:
org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing:
ノードJSからJAX-RSサービスにnullオブジェクトが渡されるのを避けるにはどうすればよいですか?
は、クエリパラメータとしてhttp.get(url+"/Add?act="+addActif, function (response) {
...
}
しかし、あなたのSpringMVCエンドポイントがリクエストボディにActifオブジェクトを見つけることを期待を追加するactif
を送信している
のようなコードを変更することで問題を解決したが、ご返信卿いただきありがとうございます、あなたが持っているように、私は、コードを変更しようとしました: 'Http.get(URL +「/追加します」、私は '@RequestBody(required = false)'を削除しました。この問題があります - > "HttpMessageNotReadableException:必須要求本体がありません"、ありがとうございました – emile01
(+ addActif、function(response)要求の本文がnodejsから送信されるか、または期待されるオブジェクトがクエリパラメータから解析されているかどうかを確認してください。 – Pyranja
私はしようとしています。受信したオブジェクトをノードjのURLからWebサービスJAX-RSに送信します。 しかし、私はまだオブジェクトがnullです。私はコードの最後の更新を入れました。 – emile01