【发布时间】:2017-02-02 08:54:09
【问题描述】:
我正在使用swagger ui 作为我的 ServiceStack 网络服务的文档,它工作得非常好。但是,我没有找到一种方法来添加有关这些 Web 服务(json)响应的任何信息。所以当我的服务的GET 方法看起来像这样时:
public object Get(CustomerData customers)
{
List<CustomerDAO> customers = DataProvider.GetAllCustomers();
return customers;
}
public class CustomerDAO
{
// this is important information which needs to be visible in swagger-ui
public string Name { get; set; }
public string SomeImportantProperty { get; set; }
public string AnotherPropery { get; set; }
public string AlsoWorthDocumenting { get; set; }
// and so on...
}
我需要对文档 (swagger-ui) 中的每个属性进行简短描述,这对于使用这些 Web 服务至关重要。
我使用的是 ServiceStack 3.9.74,但这也应该适用于最新的 ServiceStack 版本。如果没有,请告诉我。
我想知道如何才能大摇大摆地获得这些信息,或者如果没有,如何将如此重要的信息提供给必须使用我的 Web 服务的开发人员。我也愿意接受任何其他适用于 ServiceStack 环境的方法或最佳实践。
【问题讨论】:
-
@stout01 的回答是正确的,还强烈建议您遵循建议始终为您的服务创建专用响应对象。更好的是,尽量不要暴露你的 ORM(OrmLite?)使用的类型,因为它会在你的数据访问和你的 API 之间创建一个紧密的耦合,现在你的 API 的客户端暴露了。这使得您很难在不破坏 API 合同和客户端的情况下更改数据库模型。还应创建另一个表示
Customer的类型。
标签: c# rest servicestack swagger