>  기사  >  PHP 프레임워크  >  ThinkPHP6을 사용하여 API 문서 자동 생성

ThinkPHP6을 사용하여 API 문서 자동 생성

王林
王林원래의
2023-06-20 15:21:072459검색

API가 점점 더 널리 사용됨에 따라 자동으로 API 문서를 생성하는 것이 필수적인 도구가 되었습니다. 이 기사에서는 ThinkPHP6 프레임워크를 사용하여 API 문서를 자동으로 생성하는 방법을 소개합니다.

1. ThinkPHP6 프레임워크 소개

ThinkPHP6는 PHP 언어를 사용하여 개발된 효율적이고 간단하며 편리하고 유연한 오픈 소스 프레임워크입니다. 객체지향 개발 모델을 채택하고 MVC(Model-View-Controller) 아키텍처를 지원하며 라우팅, 캐싱, 검증, 템플릿 엔진 등 강력한 기능을 갖추고 있습니다.

2. Swagger UI 설치

Swagger는 API 문서를 자동으로 생성하고 API 실행 결과를 보여주는 웹 인터페이스를 제공할 수 있는 도구입니다. ThinkPHP6을 사용하여 API 문서를 자동으로 생성하려면 먼저 Swagger를 설치해야 합니다.

Composer 도구를 통해 Swagger를 설치할 수 있습니다. 명령줄에 입력:

composer require zircote/swagger-php

설치가 완료된 후 프로젝트의 루트 디렉터리에 Swagger 구성 파일을 만들고 이름을 swagger.php로 지정합니다.

<?php
return [
    'swagger' => [
        'api' => [
            'title' => 'API文档',  //API文档的标题
        ],
        'paths' => [
            APP_PATH . '/',
        ],
        'exclude' => [
        ],
        'swagger-ui' => [
            'title' => 'API文档',  //API文档的标题
        ],
        'securityDefinitions' => [
        ],
    ],
];

3. API 문서 주석을 정의합니다.

Swagger가 API 문서를 자동으로 식별하고 생성하려면 코드에 해당 주석을 추가해야 합니다. ThinkPHP6은 API 문서 정의를 위한 사용자 정의 주석 형식을 제공합니다.

컨트롤러에서 API 문서 주석 정의:

<?php
declare(strict_types=1);

namespace appcontroller;

class Example
{
    /**
     * @OAGet(
     *      path="/example/index",
     *      operationId="exampleIndex",
     *      tags={"Example"},
     *      summary="示例接口",
     *      description="这是一个示例接口",
     *      @OAResponse(
     *          response=200,
     *          description="操作成功",
     *      ),
     *      @OAResponse(
     *          response=401,
     *          description="未授权",
     *      ),
     *      security={
     *          {"Bearer": {}}
     *      }
     * )
     */
    public function index()
    {
        //接口代码
    }
}

위 코드에서 @OA로 시작하는 주석 태그는 Swagger의 표준 형식으로 구문 분석됩니다. 그 중 @OAGet은 API의 요청 메소드를 Get 메소드로 정의하고, OperationId는 작업의 ID를 정의하며, 태그는 API의 개요를 정의합니다. ; 설명은 API에 대한 자세한 설명을 정의하고, API 보안의 상태 코드는 API의 액세스 권한을 정의합니다.

4. API 문서 생성

API 문서 주석을 정의한 후 Swagger를 사용하여 API 문서를 생성할 수 있습니다. 명령줄에 다음 명령을 입력합니다.

php think swagger:export --output public/swagger.json

이 명령은 API 문서를 공용 디렉터리의 swagger.json 파일에 저장합니다.

5. API 문서에 액세스

Swagger UI를 사용하여 API 문서를 표시하세요. Swagger UI 프로젝트를 웹 서버에 배포하거나 로컬로 실행할 수 있습니다.

로컬로 실행하는 경우 다음 명령을 사용하여 Swagger UI 서비스를 빠르게 시작할 수 있습니다.

docker run --rm -p 8080:8080 -e SWAGGER_JSON=/data/swagger.json -v /path/to/swagger.json:/data/swagger.json swaggerapi/swagger-ui

여기서 /path/to/swagger.json은 swagger.json 파일의 절대 경로입니다.

API 문서를 보려면 브라우저에서 http://localhost:8080을 방문하세요.

6. 요약

이 글에서는 ThinkPHP6 프레임워크와 Swagger를 사용하여 API 문서를 자동으로 생성하는 방법을 소개합니다. API 문서를 자동으로 생성하면 개발 효율성을 높이고 유지 관리 비용을 줄일 수 있습니다. 이 글의 소개를 통해 독자들은 이미 ThinkPHP6 프레임워크와 Swagger를 능숙하게 사용하여 API 문서 자동 생성을 실현할 수 있다고 믿습니다.

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

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