0

我想在 Symfony "v3.4.11" 和 nelmio/api-doc-bundle "v3.2.1" 上禁用 NelmioApiDocs 的沙盒模式

我试过了:

# app/config/config.yml

# nelmio_api_doc
nelmio_api_doc:
    documentation:
        sandbox:
            enabled: false

之后,我清除了 prod 和 dev 的缓存。但它不起作用,我仍然可以使用“试用”发送 api 测试。

有人可以帮我禁用此“试用”功能吗?

亲切的问候,本杰明

4

2 回答 2

0

@DasBen,我的设置和你一样,我可以通过向 init-swagger-ui.js 添加一个插件来禁用沙箱

const DisableTryItOutPlugin = function() {
    return {
        statePlugins: {
            spec: {
                wrapSelectors: {
                    allowTryItOutFor: () => () => false
                }
            }
        }
    }
};

然后在const ui定义中我添加了这个插件,如下所示:

plugins: [
    DisableTryItOutPlugin
]

刷新,沙盒不见了。我宁愿通过config.yml文件中的选项禁用它nelmio_api_doc,但至少现在它已被禁用。希望这会有所帮助。

不过,我将没有信用:https ://github.com/swagger-api/swagger-ui/issues/3725#issuecomment-334899276

于 2018-08-09T20:48:11.373 回答
0

由于 Denis St-Michel 的回答对我不起作用,我添加了 css 来隐藏按钮:

{# create in app\Resources\NelmioApiDocBundle\views\SwaggerUi\index.html.twig #}
{% extends '@!NelmioApiDoc/SwaggerUi/index.html.twig' %}

{% block stylesheets %}
{{ parent() }}
{#  Eine Config zur Deaktivierung des Buttons hat leider nicht funktioniert, daher einfach ausgeblended  #}
<style>
    .try-out {
        display: none;
    }
</style>
{% endblock stylesheets %}

不是最好的方法,但为我工作。

于 2019-06-03T14:44:21.823 回答