覆盖ServiceStack操作名称

时间:2015-04-15 22:54:31

标签: servicestack metadata naming-conventions

我有一些带有DTO的ServiceStack服务,后缀为Query,响应后缀为Result。一切都运行良好但是这会生成具有完整查询后缀名称

的操作名称

我想删除它,我没有看到方法。这个question听起来像你可以通过路由命名约定来定制它,但是路径很容易指定。我只想更改操作名称。因此我很困惑。

例如在metadata page中如何将“AssignRoles”操作更改为“Assign_XYZ_Roles”之类的其他内容?

1 个答案:

答案 0 :(得分:1)

只需创建另一个继承自后缀DTO的requestDTO,然后更新服务以使用子DTO

public class HelloQuery : IReturn<HelloResponse>
{
    public string Name { get; set; }
}

[Route("/hello/{Name}")]
public class Hello : HelloQuery
{
}

[DefaultRequest(typeof(HelloQuery))]
public class MyServices : Service
{
   public object Any(Hello request)
   {
     // you could cast the Hello DTO back to HelloQuery here
   }
}