2014-01-23 29 views
2

的ServiceStack.Api.Swagger定义2个端点如何从servicestack元数据隐藏swagger ui端点?

  • 资源与
  • ResourceRequest

这些在为了显示静止文档中使用由招摇-UI。如何将它们隐藏在servicestack的标准元数据页面中?我无法用[Restrict]属性来修饰它们,因为它们是在ServiceStack.Api.Swagger dll内部定义的。

问候

德克

回答

3

您可以使用添加.NET Attributes at runtime的新V4功能来控制服务的知名度,你不ServiceStack的内置Restriction attributes,例如控制只允许属性为本地主机,您可以添加限制在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 
}); 
+0

太棒了! V4岩石!谢谢! –