2
我使用OpenRasta框架在.NET服務,我在處理程序OpenRasta - 當資源URI不正確
public OperationResult Delete(int Id)
{
// Do some operation and get an entity
return new OperationResult.OK(MyResource);
}
我的配置看起來像下面下面已經一個方法返回不正確的狀態代碼:
ResourceSpace.Has.ResourcesOfType<MyResource>()
.AtUri("/MyResource/{Id}")
.And.AtUri("/MyResource")
.HandledBy<MyResourceHandler>()
.AsJsonDataContract().ForMediaType("application/json")
.And.AsXmlDataContract().ForMediaType("application/xml");
我的要求是誣陷如下
HttpMethod: DELETE
AcceptHeader: "application/xml"
URI: http://localhost/MyResource/a
請遵守資源PARAM eter:delete方法接受整數,而我傳遞一個字符。
有了這個請求,我預計404狀態碼,而不是405方法不允許。任何人都可以解釋這種行爲,爲什麼它返回405?
如果我在URI得出不正確的資源名稱返回我404爲前:URI:http://localhost/OtherResource/a
更新:支持我測試這個使用OpenRasta的InMemoryHost和刪除方法
感謝您的信息。通過HTTP規範閱讀後,我對此更加困惑。無論如何,規範說響應必須包含允許包含此資源的有效方法列表的頭。是OR發送允許標題?我找不到任何這樣的。 – JPReddy
因爲各種各樣的技術原因,我們不提供這些東西。它會得到修正。 – SerialSeb