인터넷의 급속한 발전과 함께 API(애플리케이션 프로그래밍 인터페이스)는 현대 애플리케이션 개발의 표준 방식이 되었습니다. API는 애플리케이션이 데이터와 기능을 교환할 수 있도록 하는 인터페이스 집합을 말하며, 애플리케이션이 서로 편리하고 빠르게 상호 작용할 수 있도록 해줍니다.
API를 만든 후 다른 개발자가 API를 쉽게 사용할 수 있도록 API에 대한 자세한 문서를 작성해야 합니다. 그러나 API 문서를 수동으로 작성하는 것은 시간과 에너지가 많이 소모되는 작업이므로 API 문서 생성을 위해 자동화된 도구를 사용하는 것이 매우 필요하고 효과적입니다.
이 글에서는 API 문서 생성을 위해 PHP와 Swagger를 사용하는 방법을 소개합니다.
1. 스웨거란?
Swagger는 RESTful API를 설명하고 정의하기 위한 사양입니다. 사람이 읽을 수 있는 문서를 생성하는 데 사용할 수 있을 뿐만 아니라 클라이언트 측 및 서버 측 코드를 생성하는 코드 생성기도 사용할 수 있습니다. Swagger는 API 테스트 및 디버깅에도 사용할 수 있습니다.
2. Swagger 설치 및 구성
Swagger를 사용하여 API 문서를 생성하려면 먼저 Swagger를 설치해야 합니다. Composer를 사용하여 Swagger를 설치할 수 있습니다. Composer는 PHP용 종속성 관리자이며 최신 버전의 Swagger를 다운로드할 수 있습니다.
Swagger를 설치하려면 다음 명령을 사용하세요.
composer require "swagger-api/swagger-ui:^3.50"
설치가 완료된 후 Swagger에 대한 몇 가지 구성을 수행해야 합니다. 프로젝트 루트 디렉토리에 swagger.php 파일을 생성하고 다음 코드를 추가합니다:
<?php require_once(__DIR__ . '/vendor/autoload.php'); use OpenApiAnnotations as OA; $swagger = OpenApiscan('/path/to/your/controllers'); header('Content-Type: application/json'); echo $swagger;
위 코드에서 /path/to/your/controllers는 자신의 컨트롤러 경로로 대체되어야 합니다. 또한, Composer.json 파일에 몇 가지 구성을 추가해야 합니다.
"config": { "platform": { "php": "7.4" } }, "autoload": { "classmap": [ "app/", "database/", "routes/", "tests/" ] }, "require": { "php": "^7.4", "laravel/framework": "^8.40", "tymon/jwt-auth": "^1.0", "doctrine/dbal": "^2.13", "swagger-api/swagger-ui": "^3.50" }, "require-dev": { "facade/ignition": "^2.5", "fzaninotto/faker": "^1.9.1", "mockery/mockery": "^1.4.2", "nunomaduro/collision": "^6.0", "phpunit/phpunit": "^9.3.3" },
3. Swagger를 사용하여 API 문서 생성
Swagger를 설치하고 구성한 후 이를 사용하여 API 문서를 생성할 수 있습니다. 다음 명령을 사용하여 API 문서를 생성할 수 있습니다.
php swagger.php > swagger.json
위 명령에서 swagger.php는 방금 생성한 Swagger 구성 파일이고 swagger.json은 우리가 생성한 API 문서 파일입니다.
4. Swagger UI를 사용하여 API 문서 표시
API 문서를 생성한 후 다른 사람이 볼 수 있도록 표시하려고 합니다. Swagger UI를 사용하여 API 문서를 표시할 수 있습니다. Swagger UI는 RESTful API 정보와 Swagger에서 설명하는 구현을 표시하는 데 사용되는 JavaScript 라이브러리입니다.
공개 디렉토리의 index.php 파일에 다음 콘텐츠를 추가할 수 있습니다:
require_once(__DIR__ . '/../vendor/autoload.php'); $swagger = file_get_contents(__DIR__ . '/../swagger.json'); $swaggerData = json_decode($swagger, true); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Swagger UI</title> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/swagger-ui-dist/swagger-ui.min.css" > <style> html { box-sizing: border-box; overflow: -moz-scrollbars-vertical; overflow-y: scroll; } *, *:before, *:after { box-sizing: inherit; } body { margin:0; background: #fafafa; } </style> </head> <body> <div id="swagger-ui"></div> <script src="https://cdn.jsdelivr.net/npm/swagger-ui-dist/swagger-ui-bundle.js"> </script> <script src="https://cdn.jsdelivr.net/npm/swagger-ui-dist/swagger-ui-standalone-preset.js"> </script> <script> window.onload = function() { // Begin Swagger UI call region const ui = SwaggerUIBundle({ url: "<?php echo '/swagger.json'; ?>", dom_id: '#swagger-ui', deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], layout: "StandaloneLayout" }) // End Swagger UI call region window.ui = ui } </script> </body> </html>
위 코드에서는 생성된 API 문서를 아름다운 HTML 페이지로 표시할 수 있는 Swagger UI의 JavaScript 라이브러리를 사용합니다. 형태가 펼쳐집니다.
API 문서를 보여주는 샘플 페이지는 다음과 같습니다.
5. 결론
Swagger를 사용하면 API 문서를 쉽게 생성하고 관리할 수 있습니다. 이 기사에서는 PHP 및 Swagger를 사용하여 API 문서를 생성하는 방법을 소개합니다. 이 단계에는 Swagger 설치 및 구성, Swagger를 사용하여 API 문서 생성, Swagger UI를 사용하여 API 문서 표시가 포함됩니다. 나는 이 기사의 소개 이후 독자들이 쉽게 Swagger를 사용하여 자신의 API 문서를 생성할 수 있다고 믿습니다.
위 내용은 API 문서 생성을 위해 PHP 및 Swagger를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!