在ServiceStack中命名服务方法

本文关键字:服务 方法 ServiceStack | 更新日期: 2023-09-27 18:26:00

我正在创建我的第一个ServiceStack应用程序。我认为这很好,但发现在服务中命名方法的灵活性有限。例如,我想将此方法命名为GetChannels(AllChannels),但在元数据页面中没有创建路由。如果我把它命名为,我发现它确实有效

        public object Get(AllChannels request)

这些方法必须由调用它的谓词命名吗?我正在Configure()中的AppHost中进行路由。

我是不是错过了什么?路由是否有办法指定要调用的方法?

在ServiceStack中命名服务方法

您必须使用要限制从中调用服务的谓词,或者使用允许从ANY HTTP谓词调用服务的Any()。您在ServiceStack中的操作名称应该在请求DTO上,所以我会将您的请求DTO更改为:

public object Get(GetAllChannels request)

ServiceStack提倡基于消息的设计,其中您的请求DTO定义您的服务契约,而不是您的方法。请阅读这些现有答案,了解如何使用ServiceStack:设计基于消息的服务

  • 使用ServiceStack设计RESTful服务
  • 简单的客户REST示例
  • 如何设计基于消息的API