在我的示例中,我正在使用ApiKeyAuthProvider
和RegistrationFeature,
,它们都会向我的元数据添加新路由。
我想使用swagger作为这些服务的主要文档,但我不希望出现/AssignRoles
之类的内容。
我正在探索OperationFilter,但我很难搞清楚该做什么。
我该怎么做才能隐藏这些不需要的路线?
答案 0 :(得分:3)
您可以添加.NET Attributes at runtime来控制您无法使用ServiceStack的内置Restriction attributes控制的服务的可见性,例如要仅允许localhost显示属性,您可以将限制属性添加到AppHost中的特定请求DTO:
typeof(AssignRoles)
.AddAttributes(new RestrictAttribute { VisibleLocalhostOnly = true });
typeof(UnAssignRoles)
.AddAttributes(new RestrictAttribute { VisibleLocalhostOnly = true });
要为所有请求隐藏它,您可以将可见性设置为无:
typeof(AssignRoles)
.AddAttributes(new RestrictAttribute { VisibilityTo=RequestAttributes.None });
typeof(UnAssignRoles)
.AddAttributes(new RestrictAttribute { VisibilityTo=RequestAttributes.None });
注意,当Debug=true
自动启用调试构建时,它们仍会显示在开发模式中,以模拟版本构建,您可以将其设置为false,例如:
SetConfig(new HostConfig {
DebugMode = false
});