2016-11-08 11 views
1

Nelmio Swagger UI 문서를 모두 끄는 방법이 있습니까? 생산에서 나는 외부 세계는 다음 URL에서 아무것도 볼 싶어하지만 디바이스에 그들은 정상으로 유용한 문서를 & 샌드 박스를 표시해야합니다프로덕션 환경에서 Nelmio UI를 비활성화하는 방법은 무엇입니까?

Nelmio 구성에서이 스위치를 쉽게 전환 할 수있는 것처럼 보이지만 찾지 못했습니다. 우리 회사는 Symfony의 Nelmio API Doc 번들을 사용하여 비공개 API 용 API를 개발하고 있습니다. API 서버는 공개되어 있지만 우리는 사용법을 전세계에 공개하는 데 관심이 없습니다.

+2

dev 환경에서만 번들을 활성화하십시오. (새 Nelmio \ ApiDocBundle \ NelmioApiDocBundle(); }' –

답변

1

@ gp_sflover 님의 덧글은 올바른 길을 찾아 왔지만, NelmioApiDocBundle을 비활성화하는 것보다 더 많은 것이 있습니다 (AppKernel.php). 구성 & Nelmio를 참조하는 경로는 개발자가 특정 파일로 이동하기 전까지는 오류를 생성합니다. 내가 app/config/config.yml에서 다음과 같은 물건을 이동했다

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(); 
     ... 

에서, 설정 오류를 제거하고 config_dev.yml로 : app/AppKernel.php의 다음 변화는 첫 걸음이었다 마찬가지로

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

, 다음과 같은 물건이 와서 out of 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