我正在實現一個RESTful服務,這個服務將被Dojo框架的RestStore所使用,這將允許將服務綁定到各種小部件,比如交互式網格或類型超前的ajax選擇。需要HTTP標頭的REST服務的推薦模式?
RestStore
想要發送和接收HTTP Range
和Content-Range
標題,以便將查詢的結果限制爲特定的子範圍。
什麼是ServiceStack(新API)中作爲服務的一部分對HTTP頭作出反應的最佳實踐模式?通常,像Get
這樣的服務方法不能訪問HTTP頭,除非我錯過了一個備用API。
,我看到的當前方法是執行像
public class RangeSupporter : Attribute, IHasRequestFilter, IHasResponseFilter
一個屬性,其將解析請求上的標頭,和寫入響應的標頭。 DTO將被標記爲這個過濾器。
過濾器將傳遞值,比如說'First'和'Last'進出DTO。但是,要知道,DTO甚至有這樣的屬性,就必須有像
interface IHasRangeSupport {
int First { set; get; }
int Last { set; get; }
int Total { set; get; }
}
一些標記接口,使得過濾器可以將信息傳輸進出DTO的類似代碼:
var r = request as IHasRangeSupport;
if (r != null) {
/// Access the DTO attributes for the range parameters
}
這似乎是很多儀式,而且很尷尬的實現。
實現REST服務時,是否有更好的訪問HTTP標頭的模式?
在我的特殊用例中,不需要支持非REST端點(如SOAP)。只有HTTP端點很重要。
啊,沒有的示例代碼只見表明 - 將是非常,非常有幫助! – SAJ14SAJ 2013-02-27 17:35:41
很高興幫助。如果此答案確實解決了您的問題,請將其標記爲「接受答案」,以便其他人也可以找到解決方案。 – paaschpa 2013-02-27 17:59:32
我會一旦我測試過 - 注意我的代表跨網站:-)我知道如何玩遊戲:-) – SAJ14SAJ 2013-02-27 18:04:13