C# 客户端 - 路由选择器

标签 c# servicestack

我有以下 DTO

[Route("/Locations/{Code}/ToLocal/{Datetime}")]
[Route("/Locations/{Code}/ToUTC/{Datetime}")]
public class TimeConvertToLocal : IReturn<TimeConvertResponse>
{
.....

并以这种方式使用 C# 客户端:

var result = client.Get(new TimeConvert()
{                                    
    Code = 'ABC',
    Datetime = DateTime.Now.ToString("yyyyMMddTHHmmss")
});

它可以工作,但总是选择 ToUTC 路线。我应该如何告诉客户端选择 ToLocal 路由?还是我应该更改我的实现并将其拆分为两个 DTO

最佳答案

您可以向您的路线添加另一个变量。类似于 Route("/Locations/{Code}/{Format}/{Datetime}") 并让客户指定。

既然您将类命名为 TimeConvertToLocal,您也可以考虑创建一个新的请求 DTO TimeConvertToUTC。

或者最后,将两个答案都提供给客户,让他们选择他们想要的一个。例如:Route("/Locations/{Code}/{Datetime}") 并且您的响应将同时包含本地时间和 UTC 时间。

关于C# 客户端 - 路由选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16768616/

相关文章:

servicestack - 以编程方式调用 ServiceStack API

c# - 简单问题 : Reflections in C#

java - Java 的 ServiceStack.net 等价物(或可以与 ServiceStack 互通的东西)?

c# - 如何在listpicker windows phone中设置默认选择

c# - 如何动态更改 td 内容?

ServiceStack httpReq.TryResolve<IValidator<T>>();没有正确解决?

sqlite - 如何使用OrmLite的UpdateOnly方法进行部分表更新?

c# - 使用 multipart/form-data 上传 - 无法在自托管服务中检索文件

c# - 您可以通过 Property setter 实例化对象吗?

c# - 名为 'DefaultRoute' 的路由已经在路由集合中。路由名称必须是唯一的