5.2. 개발자 포털에 ActiveDocs 게시
이 튜토리얼이 끝나면 개발자 포털에 ActiveDocs를 게시하고 API 문서가 자동화됩니다.
사전 요구 사항
- 개발자 포털에서 ActiveDocs의 전원을 공급하려면 REST API에 대한 OAS(OpenAPI 사양) 호환 사양이 필요합니다.
프로세스
개발자 포털의 모든 페이지에 다음 스니펫을 추가합니다. 3scale 관리 포털을 통해 이 작업을 수행해야 합니다.
참고SERVICE_NAME은 서비스 사양의 시스템 이름이어야 합니다. 이 사양은 예제의pet_store입니다.OAS 3.0을 사용한 개발자 포털 구성
{% content_for javascripts %} {{ 'active_docs.js' | javascript_include_tag }} {% endcontent_for %} {% assign spec = provider.api_specs.first %} <h1>Documentation</h1> <div class="swagger-section"> <div id="message-bar" class="swagger-ui-wrap"></div> <div id="swagger-ui-container" class="swagger-ui-wrap"></div> </div> <script type="text/javascript"> (function () { var url = "{{spec.url}}"; var serviceEndpoint = "{{spec.api_product_production_public_base_url}}" SwaggerUI({ url: url, dom_id: "#swagger-ui-container" }, serviceEndpoint); }()); </script>OAS 2.0을 사용한 개발자 포털 구성
<h1>Documentation</h1> <p>Use our live documentation to learn about Echo API</p> {% active_docs version: "2.0" services: "SERVICE_NAME" %} {% cdn_asset /swagger-ui/2.2.10/swagger-ui.js %} {% cdn_asset /swagger-ui/2.2.10/swagger-ui.css %} {% include 'shared/swagger_ui' %} <script type="text/javascript"> $(function () { {% comment %} // you have access to swaggerUi.options object to customize its behavior // such as setting a different docExpansion mode window.swaggerUi.options['docExpansion'] = 'none'; // or even getting the swagger specification loaded from a different url window.swaggerUi.options['url'] = "http://petstore.swagger.io/v2/swagger.json"; {% endcomment %} window.swaggerUi.load(); }); </script>
다음은 개발자 포털에 ActiveDocs를 게시할 때 몇 가지 추가 고려 사항입니다.
- 한 페이지에 하나의 서비스만 지정할 수 있습니다. 여러 사양을 표시하려면 다른 페이지에서 수행하는 것이 가장 좋습니다.
- 이 스니펫에는 Developer Portal의 기본 레이아웃에 기본적으로 포함된 Cryostat가 필요합니다. 기본 레이아웃에서 Cryostat 종속성을 제거하는 경우 ActiveDocs가 포함된 페이지에 이 종속성을 추가해야 합니다.
- 관리 포털에서 Liquid 태그가 활성화되어 있는지 확인합니다.
-
OAS 2.0
{{ '{% active_docs version: "2.0" ' }}%}의 리쿼드 태그에서 사용되는 버전은 Swagger 사양과 일치해야 합니다.
외부 소스에서 사양을 가져오려면 다음과 같이 JavaScript 코드를 변경합니다.
$(function () {
window.swaggerUi.options['url'] = "SWAGGER_JSON_URL";
window.swaggerUi.load();
});
사양 소스 window.swaggerUi.options['url'] = "SWAGGER_JSON_URL";, 은 주석 블록 외부에 있습니다.
검증 단계
OpenAPI 사양 을 생성하고 3scale에 추가한 후 사양을 게시하고 개발자 포털에 연결하여 API 개발자가 사용할 수 있습니다.