2017-12-02 2 views
0

NodeJSとLoopBackで構築されたREST APIを使用するAngularアプリケーションを構築しています。新しいレコードを作成しようとすると、アプリとPostmanの両方で奇妙なエラーが発生します。POST/PATCHはループバックエクスプローラで動作しますが、Postmanでは動作しません

The `ObjectName` instance is not valid. 
Details: `id` can't be blank (value: undefined); 
`property2` can't be blank (value: undefined); 
`property3` can't be blank (value: undefined). 

これは私が投稿しているものです(プロパティ名は無実を保護するために変更されました):

{ 
    "id":0, 
    "property2":"foo", 
    "property3":"bar", 
    "property4":"R" 
} 

本の奇妙な部分があること、私はループバックAPIエクスプローラを介してこれを実行しようとすると、 、それはうまく動作します。私はPATCHメソッドでも同じ問題を抱えています。

どのような考えですか?

ありがとうございました

+0

ポストマンを介してデータを送信する方法は、スクリーンショットなどを投稿することができます –

+0

@RahulSingh 'raw'オプションが選択された状態で、Bodyタブで送信しています。これが私がいつもjsonのデータをPostmanに送った方法です。機密データをぼかす方法がないため、スクリーンショットを投稿できません。 –

+0

@ChrisHampton:ヘッダーを設定しましたか( 'Content-Type'、' Accept')?ループバックAPIエクスプローラを使用してリクエストを行うと、curlコマンドも生成されます。そのカールコマンドはあなたのために機能しますか? –

答えて

0

原因が見つかりました。以前のAPIでは、バックエンドは、必要なプロパティを適用し、そうでなかったものを破棄するモデルバインダーで設定されていました。だから、私は通常、POST/PUT /などでオブジェクト全体を送信しています。この場合、私たちはそれを持っていないので、この奇妙なエラーを投げていました。オブジェクトを裸の必需品にだけストリップする方法をAngularオートマッパーに追加すると、うまくいきました。

最後に、エラーメッセージが改善されていれば、私はそれを理解できました。

関連する問題