ServiceStack将请求分组在一起

时间:2018-05-31 17:32:38

标签: c# servicestack api-design

现在我可能认为这一切都错了,好像我对ServiceStack相对较新,但是,如果我要将三个API请求全部放在同一个请求中,例如:

  1. /广播/添加
  2. /广播/获取
  3. /广播/删除
  4. 每个都将具有完全不同的请求参数(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方法

    中注册我们的路线

    由于

1 个答案:

答案 0 :(得分:0)

OnGet是ServiceStack的一个非常旧的版本,早已被弃用。有关使用ServiceStack设计服务的指导,请参阅下面的ServiceStack文档: