gpt4 book ai didi

symfony - 如何在生产中禁用 Nelmio UI?

转载 作者:行者123 更新时间:2023-12-04 12:49:55 29 4
gpt4 key购买 nike

有没有办法关闭所有 Nelmio Swagger UI 文档?在生产中,我希望外界在以下 URL 上看不到任何内容,但在开发中,它们应该正常显示有用的文档和沙箱:

似乎在 Nelmio 配置中应该有一个简单的开关,但我还没有找到它。我的公司正在使用 Symfony 中的 Nelmio API Doc 包为非公共(public) API 开发 API。 API 服务器向公众公开,但我们对向全世界公布其使用情况不感兴趣。

最佳答案

@gp_sflover 的评论让我走上了正轨,但不仅仅是在 AppKernel.php 的 prod 上禁用 NelmioApiDocBundle。引用 Nelmio 的配置和路由将产生错误,直到您将它们移动到特定于开发的文件中。 app/AppKernel.php 中的以下更改是第一步:

public function registerBundles()
{
$bundles = [
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
...
// new Nelmio\ApiDocBundle\NelmioApiDocBundle(), // <-- REMOVED FROM HERE
new Nelmio\CorsBundle\NelmioCorsBundle(),
new AppBundle\AppBundle(),
];

if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
$bundles[] = new Nelmio\ApiDocBundle\NelmioApiDocBundle(); // <-- ADDED HERE
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
...

为了消除配置错误,我不得不将以下内容从 app/config/config.yml 中移出并放入 config_dev.yml:

# nelmio Configuration
nelmio_api_doc:
sandbox:
enabled: true
name: 'DLAP API Bridge'
swagger:
...
cache:
enabled: false

同样,以下内容来自 app/config/routing.yml 并移至 routing_dev.yml:

NelmioApiDocBundle:
resource: "@NelmioApiDocBundle/Resources/config/routing.yml"
prefix: /api/doc

nelmio_api_swagger:
resource: "@NelmioApiDocBundle/Resources/config/swagger_routing.yml"
resource: null
prefix: /api-docs

关于symfony - 如何在生产中禁用 Nelmio UI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40495097/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com