我有以下 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/