>PHP 프레임워크 >ThinkPHP >ThinkPHP6에서 Swagger를 사용하는 방법

ThinkPHP6에서 Swagger를 사용하는 방법

王林
王林원래의
2023-06-20 08:58:541995검색

Swagger는 개발자가 API 인터페이스를 쉽게 생성, 설계 및 배포하는 데 도움이 되는 인기 있는 API 문서 생성 도구입니다. 이 기사에서는 Swagger를 사용하여 ThinkPHP6에서 API 문서를 생성하는 방법과 Swagger-UI를 사용하여 API 인터페이스를 보고 테스트하는 방법을 소개합니다.

1단계: Swagger-UI 및 Swagger-Annotations 설치

ThinkPHP6에서 Swagger를 사용하려면 Swagger-UI 및 Swagger-Annotations 라이브러리를 설치해야 합니다. Composer를 통해 설치할 수 있으며 프로젝트 루트 디렉터리에서 다음 명령을 실행하면 됩니다.

composer require zircote/swagger-php
composer require swagger-api/swagger-ui

2단계: 컨트롤러에 Swagger 주석 추가

컨트롤러에서 Swagger를 사용하려면 Swagger를 컨트롤러의 주석에 추가해야 합니다. 컨트롤러 Swagger 주석을 추가합니다. 예를 들어, 다음은 Swagger-Annotations를 사용하는 샘플 컨트롤러와 샘플 코드입니다.

<?php
namespace appcontroller;

use thinknnotationouteGroup;
use thinknnotationouteMiddleware;
use thinkController;

/**
* @Group("/api/v1")
* @Middleware(class="ppmiddlewareToken")
*/
class UserController extends Controller
{
    /**
    * 用户列表接口
    *
    * @SwaggerGet(
    *     path="/user/list",
    *     summary="获取用户列表",
    *     tags={"User"},
    *     @SwaggerResponse(response="200", description="OK"),
    *     @SwaggerResponse(response="401", description="Unauthorized"),
    * )
    */
    public function index()
    {
        // 代码逻辑
    }
}

위 코드에서는 @Group 주석을 사용하여 컨트롤러의 경로 접두사를 지정했습니다. @Middleware 주석은 컨트롤러 미들웨어를 지정합니다. index 메서드에서는 @SwaggerGet 주석을 사용하여 요청 경로, 인터페이스 요약, 레이블 및 응답 정보 등 GET 요청에 필요한 정보를 지정합니다. @Group注释来指定控制器的路由前缀,使用@Middleware注释来指定控制器中间件。而在index方法中,我们使用了@SwaggerGet注释来指定GET请求所需的信息,如请求路径、接口摘要、标签和响应信息等等。

第三步:生成Swagger文档

生成Swagger文档的方法有很多种,包括手动编写Swagger文档、使用Swagger编辑器、使用Swagger生成器等等。在这里,我们将使用Swagger-Annotations提供的命令行工具来自动生成Swagger文档。

在项目根目录下输入以下命令:

php think swagger output json > swagger.json

这将使用Swagger-Annotations中的output命令将Swagger文档输出到JSON文件中。

第四步:使用Swagger-UI查看和测试API接口

现在,我们已经生成了Swagger文档,我们需要将它展示出来。我们可以使用Swagger-UI来查看和测试API接口。

在项目中新建一个目录public/swagger,将从Swagger-UI官网上下载的所有静态文件都复制到这个目录中。然后,我们需要修改index.html文件中的url变量,将其指向我们刚才生成的Swagger文档。

var url = "../swagger.json";

最后,在浏览器中打开http://localhost/swagger

3단계: Swagger 문서 생성

Swagger 문서 수동 작성, Swagger 편집기 사용, Swagger 생성기 사용 등을 포함하여 Swagger 문서를 생성하는 방법에는 여러 가지가 있습니다. 여기서는 Swagger-Annotations에서 제공하는 명령줄 도구를 사용하여 Swagger 문서를 자동으로 생성하겠습니다.

프로젝트 루트 디렉터리에 다음 명령을 입력하세요. 🎜rrreee🎜이렇게 하면 Swagger-Annotations의 output 명령을 사용하여 Swagger 문서를 JSON 파일로 출력합니다. 🎜🎜4단계: Swagger-UI를 사용하여 API 인터페이스 보기 및 테스트🎜🎜이제 Swagger 문서를 생성했으므로 이를 표시해야 합니다. Swagger-UI를 사용하여 API 인터페이스를 보고 테스트할 수 있습니다. 🎜🎜프로젝트에 새 디렉터리 public/swagger를 만들고 Swagger-UI 공식 웹사이트에서 다운로드한 모든 정적 파일을 이 디렉터리에 복사합니다. 그런 다음 방금 생성한 Swagger 문서를 가리키도록 index.html 파일의 url 변수를 수정해야 합니다. 🎜rrreee🎜마지막으로 브라우저에서 http://localhost/swagger를 열어 Swagger-UI 인터페이스를 확인하세요. 여기에서 API 인터페이스 문서를 찾아보고, API 인터페이스를 테스트하고, API 인터페이스의 요청 및 응답 정보를 볼 수 있습니다. 🎜🎜요약: 🎜🎜위 내용은 Swagger를 사용하여 ThinkPHP6에서 API 문서를 생성하는 모든 단계입니다. Swagger를 사용하면 개발자는 API 인터페이스의 문서화, 테스트 및 배포를 보다 쉽게 ​​완료하고 개발 효율성을 향상시키며 개발 비용을 절감할 수 있습니다. 그러나 악의적인 공격과 데이터 유출을 방지하려면 API 인터페이스의 보안을 보호하는 데에도 주의를 기울여야 합니다. 🎜

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

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