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