我希望向我的团队演示ServiceStack,作为演示的一部分,我想创建一些文档。 UseCases.SwaggerHelloWorld运行正常,但我的项目(有一个正常运行的服务)返回一个空的招摇页面。当我访问/资源时,它返回:
{
"swaggerVersion":"1.2",
"apis":[],
"apiVersion":"1.0",
"basePath":"http://localhost:29672",
"info":{"title":"Reports.Api"}
}
然后我将Hello *服务和模型复制到我的API项目中(与主机在同一个程序集中),这很有效。然后我将服务和模型移动到单独的项目中,文档再次消失。
所以我的问题是,当模型位于单独的DLL中时,如何记录API?使用servicestack解决方案模板创建解决方案时,项目结构与建议的相同。
答案 0 :(得分:0)
AppHost构造函数告诉ServiceStack它应扫描哪些程序集来查找,注册和自动连接您的服务,例如:
public class AppHost : AppHostBase
{
public AppHost() : base("Hello App", typeof(HelloService).Assembly) {}
}
如果您的服务在不同的项目中维护,它支持指定多个程序集,例如:
public class AppHost : AppHostBase
{
public AppHost() : base("Hello App",
typeof(HelloService).Assembly, typeof(OtherService).Assembly) {}
}
Modularizing Services docs有更多信息。
服务使用的DTO可以在不同的项目中,您只需要指定服务所在的程序集。虽然建议将DTO维护在separate dep-free project中,这是推荐的{{3}这包含在每个Physical Project Structure。
中