对于不同的语言,这个问题被问了很多。经过大量(无结果的)浏览后,我觉得自己很愚蠢,但无论如何我都会问
本文档指的是在看似 Javascript 的内容中添加一个 Swagger 插件 https://github.com/swagger-api/swagger-ui/issues/3725
我尝试将该代码添加为注入(inject)的 Javascript 资源:
c.InjectJavaScript(thisAssembly, "MyProject.Scripts.swagger-plugins.js");
.js文件中的代码是
const DisableTryItOutPlugin = function() {
return {
statePlugins: {
spec: {
wrapSelectors: {
allowTryItOutFor: () => () => false
}
}
}
}
}
const DisableAuthorizePlugin = function () {
return {
wrapComponents: {
AuthorizeBtn: () => () => null
}
}
}
SwaggerUI({
plugins: [
DisableTryItOutPlugin,
DisableAuthorizePlugin
]
})
那一无所获,我不知道下一步该去哪里。
最佳答案
你可以在 swagger 中隐藏试用按钮 (使用 swashbuckle,C# dotnet 核心) -
受影响的代码行 -
c.SupportedSubmitMethods(new Swashbuckle.AspNetCore.SwaggerUI.SubmitMethod[] { }
完整代码示例-(添加内部配置方法)
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/test/swagger.json", "test API");
c.SupportedSubmitMethods(new Swashbuckle.AspNetCore.SwaggerUI.SubmitMethod[] { });
});
这是可行的,因为我们使用了 SubmitMethod 枚举,其中包含以下值 -
public enum SubmitMethod
{
Get = 0,
Put = 1,
Post = 2,
Delete = 3,
Options = 4,
Head = 5,
Patch = 6,
Trace = 7
}
关于c# - 在 Swagger 中禁用 "Try It Out",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55914610/