0

私の ASP.NET Web API プロジェクトには、標準の Edit API 呼び出しがいくつかあります。ここでは、XML や JSON の出力、または呼び出し元が必要とするものは何でも問題ありません。ただし、一部の呼び出しは ATOM フィードを返す必要があります。

この投稿で、カスタム MediaTypeFormatter によって ATOM または RSS 出力を実現できることがわかりました: How to generate ATOM and RSS2 feeds with ASP.NET Web API?

しかし、HTTP Accept-header によってそのような出力を要求するのは呼び出し元次第であるため、実際には私が望むものではありません。ここでは ATOM のみを返したいと思います。JSON も (シリアル化されたオブジェクトとして) XML もありません。

Web APIでこれを行うことは可能ですか? それとも、これらの呼び出しに標準の Web コントローラーを使用し、他のすべての API 呼び出しのみを ApiControllers として実装する方がよいでしょうか?

ご協力いただきありがとうございます!

4

2 に答える 2

7

Web APIでもできます。サンプル アクションは次のとおりです。

public HttpResponseMessage GetFeed()
{
    return Request.CreateResponse(HttpStatusCode.OK, feedInstance, "application/atom+xml");
}


 public HttpResponseMessage GetFeed()
 {
    return Request.CreateResponse(HttpStatusCode.OK, feedInstance, feedFormatter, "application/atom+xml");
 }

これらのいずれかを使用できます。

于 2013-03-19T17:52:31.600 に答える
0

APIは一般的にユーザーが要求するものを返す必要があるため、この形式の出力を強制する場合は、この目的のために別のASPハンドラーページ(.ashx)を追加します。

于 2013-03-19T14:36:09.973 に答える