我使用ServiceStack进行自定义服务,在没有IIS的独立模式下使用。
除了/metadata
之外,我想为我的服务添加文档。我想尝试使用Swagger插件。
我已将插件命令添加到我的配置
public override void Configure(Funq.Container container)
{
SetConfig(new EndpointHostConfig()
{
DefaultRedirectPath = "index.html",
DebugMode = true,
WriteErrorsToResponse = true,
CustomHttpHandlers =
{
{ HttpStatusCode.Unauthorized, new AuthorizationErrorHandler() },
{ HttpStatusCode.Forbidden, new AuthorizationErrorHandler() },
{ HttpStatusCode.NotFound, new AuthorizationErrorHandler() }
}
});
// For automatic generation of documentation to APIs
Plugins.Add(new SwaggerFeature());
}
现有服务继续有效,但试图访问
/swagger-ui/index.html
给出未找到的错误。
还有一个没有明确记录的额外步骤https://github.com/ServiceStack/ServiceStack/wiki/Swagger-API
我是否必须亲自设置此页面?如果是这样,怎么样?
答案 0 :(得分:1)
经过更多研究后,使用servicestack.api.swagger
包只会安装/ resource服务来查询API。它不包括任何客户端资源。
要获取客户端UI,您必须从Swagger UI project on Github下载文件,并自行安装dist
目录资源。
答案 1 :(得分:1)
添加ServiceStack.Api.Swagger NuGet包应包含您需要的所有客户端资源。尝试更新NuGet包,因为您需要的所有客户端资源应该已经在/swagger-ui