1

上个月刚发现 ServiceStack,我真的很喜欢使用这个很棒的框架。真的受够了 WCF 设置和静态方法原型!

我有个问题 !

我创建了一个类:允许使用以下路由显示一个或一个事件列表的事件:

[Route("/events")]
[Route("/events/{Id}")]
public class Event
{
    public ushort Id { get; set; }   
    public string FromDate { get; set; }
    public string ToDate { get; set; }
}

但我也想使用相同的路线列出两个日期之间的事件。实际上,该路线仅将 Id 作为参数,但我想添加另一条指定 FromDate 的路线:我认为这样的事情会起作用:/events/01-01-2012/10-01-2012 以便获取两个日期之间的所有事件,但是这没用。

是否可以定义允许基于不同参数(取自 DTO)定义不同路由的路由?

我是管理路线的新手,我真的很想知道如何根据不同的参数定义不同的过滤方式。

谢谢您的帮助 !很棒的工作德米斯!

4

2 回答 2

5

怎么样[Route("/events/from/{FromDate}/to/{ToDate}")]

虽然我目前的思维方式会将它们分成两个请求

[Route("/events/{Id}")]
public class GetEventById
{
    public ushort Id { get; set; }
}

[Route("/events/between/{FromDate}/{ToDate}")]
public class GetEventsBetweenDates
{   
    public string FromDate { get; set; }
    public string ToDate { get; set; }
}
于 2013-01-02T20:43:36.800 回答
0

在我的 OnGet() 函数上,我想确定参数是否设置为 NULL。当我添加一个“?” 除了请求数据类型之外,我在尝试访问我的服务时遇到了“错误请求”异常。

这是否意味着所有 REQUEST 参数对于字符串为空,数字为 0,日期为 01-01-000 等,这就是我应该在 OnGet 上测试以确定输入 Querystring 参数的值?

于 2013-01-16T08:23:09.923 回答