>  기사  >  백엔드 개발  >  API 문서 생성을 위해 PHP 및 Swagger를 사용하는 방법

API 문서 생성을 위해 PHP 및 Swagger를 사용하는 방법

王林
王林원래의
2023-05-11 16:40:421696검색

인터넷의 급속한 발전과 함께 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 문서를 보여주는 샘플 페이지는 다음과 같습니다.

API 문서 생성을 위해 PHP 및 Swagger를 사용하는 방법

5. 결론

Swagger를 사용하면 API 문서를 쉽게 생성하고 관리할 수 있습니다. 이 기사에서는 PHP 및 Swagger를 사용하여 API 문서를 생성하는 방법을 소개합니다. 이 단계에는 Swagger 설치 및 구성, Swagger를 사용하여 API 문서 생성, Swagger UI를 사용하여 API 문서 표시가 포함됩니다. 나는 이 기사의 소개 이후 독자들이 쉽게 Swagger를 사용하여 자신의 API 문서를 생성할 수 있다고 믿습니다.

위 내용은 API 문서 생성을 위해 PHP 및 Swagger를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.