4

WebAPI ベースのアプリを WebAPI RC からリリース バージョンに移行しようとしています。いくつかのクエリ パラメーターを受け取り、ATOM 形式の OData を返します。実行中のサービスなので、現在の動作を維持する必要があります。

データを含むを返すように API メソッドを変更しましPageResult<T>た。MSDN のSupporting OData Query Optionsの記事によると、これで十分ですが、機能していません。結果は得られますが、常に JSON 形式になっています。Acceptリクエストヘッダーを に変更してみましたapplication/atom+xmlが、違いはないようです。

WebApiConfigまた、明らかな効果がないために、次の行を追加しようとしました。

configuration.EnableQuerySupport();
configuration.Formatters.InsertRange(0, ODataMediaTypeFormatters.Create());

何が起こるかを見るためだけに、既存のフォーマッターをクリアしようとしました。406 Not Acceptableエラーが返されるだけです。おそらく、OData フォーマッターは、要求/応答を処理できると報告していないように見えますか?

4

1 に答える 1

1

OData の有効化については、次のブログ記事を参照してください。

http://blogs.msdn.com/b/webdev/archive/2013/01/29/getting-started-with-asp-net-webapi-odata-in-3-simple-steps.aspx

OData ルートがありません - フォーマッタが機能するにはルートが必要です。

于 2013-03-27T20:11:45.873 に答える