我使用OpenRasta框架在.NET服务,我在处理程序OpenRasta URI映射到错误的方法,并返回不一致的HTTP状态代码
public OperationResult Get(int Number)
{
// Do some operation and get an entity
return new OperationResult.OK(Single-MyResource);
}
public OperationResult GetQ()
{
// Do some operation and get an entity
return new OperationResult.OK(List-Of-MyResource);
}
我的配置看起来像下面
下面有两个方法:ResourceSpace.Has.ResourcesOfType<MyResource>()
.AtUri("/MyResource/{Id}")
.And.AtUri("/MyResource")
.HandledBy<MyResourceHandler>()
.AsJsonDataContract()
.And.AsXmlDataContract()
ResourceSpace.Has.ResourcesOfType<IList<MyResource>>()
.AtUri("/MyResources")
.HandledBy<MyResourceHandler>()
.AsJsonDataContract()
.And.AsXmlDataContract();
列举HTTPMethod:GET AcceptHeader: “应用程序/ JSON” URI:http://testDomain.com/MyResource/
的AB奥雅纳请求给我MyResource的清单,一样是我得到下面的请求
列举HTTPMethod:GET AcceptHeader: “应用/ JSON” URI:http://testDomain.com/MyResources/
改变配置后
ResourceSpace.Has.ResourcesOfType<MyResource>()
.AtUri("/MyResource/{Id}")
.And.AtUri("/MyResource").Named("MyResource")
.HandledBy<MyResourceHandler>()
.AsJsonDataContract()
.And.AsXmlDataContract()
,使即
[HttpOperation(HttpMethod.GET, ForUriName = "MyResource")]
OpenRasta回报处理程序适当的更改415 http状态码。
以上不一致。
对于我的其它资源上同等配置如上 OpenRasta抛出403的HTTP状态代码
是的,我的请求没有传递任何数据和Content-Type。 – sham 2012-07-27 07:07:35
在提琴手上执行时请求的详细信息。 GET http:// testDomain。com/RestLayer/MyResource请求标头 User-Agent:Fiddler 主机:testDomain.com 授权:令牌abcabaabcacbacba 返回的状态是415 – sham 2012-07-27 07:33:02