OData標準を使用すると、新しいコレクションを送信してコレクションを置き換えることはできますか? シナリオ: personオブジェクトには、リストAddressオブジェクトが含まれています。 Addressコレクションを新しいコレクションに置き換えたいと考えています。 PUT者(1)/アドレス [{ "街": "X"、 "国": "US"}、{ "街": "Y"、 "国": "US"}]コレクションプロパティを置き換えるOData PUT
0
A
答えて
0
これはデフォルトのルーティングテンプレートがキー部分の後のセグメントを期待しないので、(ODATAv3の場合は)少なくともデフォルトでは不可能です。
しかし、達成したいと思うようなODATAアクションを追加することができます。あなたのアクション定義は、次のようになり可能性:
var action = builder.Entity<Person>()
.Action("Addresses")
.Returns<bool>();
action.Parameter<Collection<CityCountryPair>>("data");
タイプCityCountryPair
を変更したいあなたの特性を含む正規DTOだろう。この型がOdataのEntitySetとして登録されていることを確認するか、プリミティブ型のみのプレーンマップ/ディクショナリを使用してください。 ODATAアクションに
実際の呼び出しは、その後、次のようになります。
POST http://www.example.com/api/YourEndpoint/Persons(42)/Addresses
Content-Type: application/json
{
"data" :
[
{ "city" : "Berne" , "country": "CH" },
{ "city" : "Y" , "country": "CH" }
]
}
あなたは、より複雑なデータ型を送信したい場合は、まだ顧客JSONデシリアライザに頼ると、デフォルトの1または使用を上書きすることができます結局カスタムモデルのバインダー。
関連する問題
- 1. putIfAbsentで「get/check/put」の使用を置き換えます。
- 2. を置き換える ';' '; \ n'
- 3. ホバーテキストを置き換えて画像に置き換えます
- 4. web.config変換でIIS書き換えルールを置き換える
- 5. 防止置き換えるHTMLコンテンツ
- 6. URL置き換え
- 7. 置き換え機能が置き換えられない
- 8. ArrayListで置き換える
- 9. 置き換えるバイト
- 10. 置き換える&&
- 11. javascriptでグローバルに置き換える機能を置換する
- 12. C++ doubleをcharに置き換えてstd :: arrayに置き換えます。
- 13. Views2ベースフィールドハンドラの置き換え
- 14. java.net.URLの置き換え
- 15. NSFileWrappersの置き換え
- 16. logback.xmlファイルディレクトリの置き換え
- 17. PrestaShopライブラリの置き換え
- 18. ブートストラップモーダル置き換えプレースホルダー
- 19. AuthenticationException.getAuthentication()の置き換え。
- 20. Skype4Comの置き換え
- 21. HTML置き換えフォントタグ
- 22. rdocの置き換え
- 23. Cプリプロセッサマクロの置き換え
- 24. alutLoadWAVFileの置き換え
- 25. メソッドの置き換え
- 26. シンプルSED置き換え
- 27. SQL XMLの置き換え
- 28. Zend_Authの置き換えは?
- 29. CleverCSSの置き換え
- 30. スタートメニューの置き換え
ありがとうございました。 ODATAアクションは、私が望むものを得るのを助けました。 –
それを聞いてうれしいです。明確化が必要なあなたの質問に関して他に何かありますか?さもなければ私の答えを「受け入れられた」答えとすることができます。 –