ServiceStack.Api.Swagger定义了2个端点
swagger-ui使用它们来显示休息文档。如何隐藏它们不显示在servicestack的标准元数据页面中?我无法使用[Restrict]属性修饰它们,因为它们是在ServiceStack.Api.Swagger dll内部定义的。
此致
德克
答案 0 :(得分:3)
您可以使用添加.NET Attributes at runtime的新v4功能来控制使用ServiceStack的内置Restriction attributes无法控制的服务的可见性,例如要仅允许localhost显示属性,您可以将限制属性添加到AppHost中的特定请求DTO:
typeof(Resources)
.AddAttributes(new RestrictAttribute { VisibleLocalhostOnly = true });
typeof(ResourceRequest)
.AddAttributes(new RestrictAttribute { VisibleLocalhostOnly = true });
要为所有请求隐藏它,您可以将可见性设置为无:
typeof(Resources)
.AddAttributes(new RestrictAttribute { VisibilityTo=RequestAttributes.None });
typeof(ResourceRequest)
.AddAttributes(new RestrictAttribute { VisibilityTo=RequestAttributes.None });
请注意,当Debug=true
自动启用调试构建时,它们仍然会以开发模式显示,以模拟版本构建,您可以将其设置为false,例如:
SetConfig(new HostConfig {
DebugMode = false
});