【发布时间】:2018-05-31 17:32:38
【问题描述】:
现在我可能认为这一切都是错误的,好像我对 ServiceStack 还比较陌生,但是,如果我要让三个 API 请求都包含在同一个请求中,例如:
- /广播/添加
- /广播/获取
- /广播/删除
每一个都将有完全不同的请求参数 (POST),所以我会创建三个 DTO,每个都有必要的参数,例如:
public class AddBroadcastMessage
{
public string Content { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public int IParent { get; set; }
public string MessageType { get; set; }
}
public class GetBroadcastMessages
{
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public int IParent { get; set; }
}
public class DeleteBroadcastMessage
{
public int Id { get; set; }
}
然后,由于参数不同,我将为其中的每一个提供一个带有 OnGet 覆盖方法的服务,最终随着更多 API 的添加,服务的逻辑检查对于后来添加到的开发人员来说将变得难以遵循团队。
在元数据页面中,这些将是单独的请求(由于不同的 DTO),我是否可以在元数据页面上对这三个 DTO 进行分组?
我尝试过使用 ApiAttribute,例如[Api("Broadcast")]
我还尝试将路线的第一段设置为相同的文本。
如果它很重要,我们在Configure方法中注册我们的路由
谢谢
【问题讨论】:
标签: c# servicestack api-design