我正在使用ASP.NET MVC 4 Web API創建一個RESTful Web服務。對於API訪問,我返回JSON,但是一旦我使一切正常工作,默認情況下,內容協商應該適用於XML和JSON。ASP.NET MVC 4/Web API - 爲接受插入剃鬚刀渲染器:text/html
由於我正致力於一個真正的RESTful資源爲中心的Web服務,我的URI將指向實際的資源。如果Accepts: text/html
出現在請求中(比如在瀏覽器中拋出鏈接),我希望通過返回資源的HTML表示來利用該優勢。
我希望能夠利用MVC 4 Web API的內容協商來插入使用Razor模板的text/html的渲染器。有沒有任何工作的例子來做到這一點?
是的,這是橋接「常規」MVC頁面和Web API。基本上我想創建一個渲染器,使用基於約定的方法來查找和渲染Razor視圖,就像「常規」MVC一樣。我可以想出基於約定的查看邏輯。 我使用手動剃鬚刀引擎渲染我的模型轉換成HTML只是尋找一)全球插入我的text/html
渲染到內容negotation和B)。
重定向到Html的正常控制器是否可以接受(或通過HttpRequest執行另一個操作並將結果發送回客戶端)? – 2012-08-02 18:04:05
@KyleTrauberman,我寧願進入內容談判。至少從我有限的理解來看,這在架構上將是最明智的未來。我在猜測Web API,而且將來會有一些常規的MVC,我將把注意力放在Web API基礎設施上,因此構建內容協商框架似乎是正確的方式。重定向到不同的控制器可能會工作,但我的經驗使我相信這將是不自然的,並在未來造成麻煩。但我不反對理解如何工作:) – MikeJansen 2012-08-02 18:37:45