默认值我有一个DTO具有定义异常与路线
[Route("/route/{Id}/{Status}")]
public class JustIdAndStatus : IReturn {
public long Id { get; set; }
public long Status { get; set; }
}
然后我调用服务的东西,如
本地主机以下路线:9040 /路线/百分之一
或
localhost:9040/route/0/100
并且一切顺利。
但是当我使用其中一个服务客户端时,如果任何值为0(长为默认值),我会得到一个异常。
var client = new JsonServiceClient("http://127.0.0.1:9040");
var request = new JustIdAndStatus() {
Id = 0,
Status = 1
};
var response = client.Get(request);
我得到的例外是
System.InvalidOperationException : None of the given rest routes matches 'JustIdAndStatus' request:
/route/{Id}/{Status}: Could not match following variables: Id
at ServiceStack.ServiceClient.Web.UrlExtensions.ToUrl(IReturn request, String httpMethod, String formatFallbackToPredefinedRoute) in UrlExtensions.cs: line 65
at ServiceStack.Common.Tests.UrlExtensionTests.Can_create_url_with_JustIdAndStatus(Int64 id, Int64 status) in UrlExtensionTests.cs: line 91
我的问题找到了这个承诺的服务栈库 https://github.com/ServiceStack/ServiceStack/commit/b34a5906a265da19d916ea47ee80783bd866abcb
我注意到,当我更新从ServiceStack 38年9月3日至来自nuget的3.9.40。
我想知道如果这种行为是正确的,所以我用错误的方式使用路线,或者这可能是一个问题,可以提交给github上的问题跟踪器。
我也做一个测试使用的是基本的人我事先就ServiceStack.Commons源代码
https://gist.github.com/anonymous/5216727
感谢找到了!
更新:拉取请求已完成并合并。 – 2013-04-04 22:32:10