c# - 在 Swagger 中禁用“试用”
问题描述
对于不同的语言,这个问题已经被问了很多。经过大量(无果)浏览后,我感觉很愚蠢,但无论如何我都会问
本文档指的是在似乎是 Javascript https://github.com/swagger-api/swagger-ui/issues/3725中添加 Swagger 插件
我尝试将该代码添加为注入的 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 中隐藏 Try it out 按钮(使用 swashbuckle,C# dotnet core) -
受影响的代码行 -
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# - Telnet 连接 + 发送输入 + 获取输出
- python - 用python opencv裁剪出字母周围的多个区域
- html - 为什么有些谷歌字体只支持常规样式?
- html - 如何在 HTML 中预加载版本化文件以增强性能?
- java - 创建引用可以在带有 objectify 的事务内引发 ConcurrentModificationException
- javascript - 与父子元素相关的问题
- java - DynamoDB 嵌套映射到 Java 对象
- nuxt.js - Tailwind+ Nuxt:@apply 不适用于所有课程
- python - 是否可以将一个线程的结果通过管道传输到另一个线程?
- terraform - 错误:不允许对具有 VCS 连接的工作区应用