3

私はRESTfulになりたいと思っているWebAPIに取り組んでいます。例を挙げると:

http://product.domain.local/person

ASP.NET MVC(人間用)によって提供される優れたUIを備えたWebページを提供します。

ただし、HTTPヘッダーでAccept json / xmlを要求した場合、その要求をWebAPIコントローラーにリダイレクトしたいと思います。すなわち。MapHttpRouteと同様に、要求されたcontentTypeに基づいてマップしたいと思います。

したがって、APIがIDを返す場合:

http://product.domain.local/person/1

人間がそれを使用する場合はWebページを取得し、クライアントアプリケーションがそれを使用する場合はJSON / XMLを取得します(Acceptヘッダーを変更するため)。これにより、HTTPリダイレクトなどを使用してRESTに取り組むことができます。

しかし、私はこれを行う方法を見つけることができません。それも可能ですか?

4

1 に答える 1

1

これはかなり難しいと思います。Webapi は、Accept タイプ ヘッダーに基づくルーティングには非常に優れていますが、ビューの処理には適していません。MVC はビューは得意ですが、さまざまな応答を処理するのは得意ではありません。

どちらかと言えば、MVCを作るのが一番簡単だと思います。受け入れ型の処理に必要な柔軟性に応じて、おそらく一般的な関数 (を返すActionResult) を実装し、その中で頭 (またはその他の必要なもの) に基づいて適切な型を返すことができます。

于 2012-09-21T22:24:33.183 に答える