PHP 프레임워크 Laravel Laravel 개발: Laravel Swagger를 사용하여 API 문서를 생성하는 방법은 무엇입니까?

Laravel 개발: Laravel Swagger를 사용하여 API 문서를 생성하는 방법은 무엇입니까?

Jun 13, 2023 am 09:35 AM
laravel swagger API 문서

Laravel 개발: Laravel Swagger를 사용하여 API 문서를 생성하는 방법은 무엇입니까?

웹 애플리케이션을 개발할 때 API 문서 작업은 지루하지만 필수적인 작업인 경우가 많습니다. Swagger를 사용하여 API 문서를 자동으로 생성하고 시각화하세요. Laravel 개발에서는 Laravel Swagger 확장 패키지를 사용하여 Swagger API 문서를 쉽게 생성할 수 있습니다. 이 글은 Laravel과 함께 Laravel Swagger를 사용하는 방법을 안내합니다.

  1. Laravel Swagger 설치

Composer를 사용하여 Laravel Swagger 확장 패키지를 설치하세요:

composer require darkaonline/l5-swagger
로그인 후 복사
  1. Laravel Swagger 구성

Laravel Swagger는 Swagger UI에 의존하므로 Swagger UI의 리소스를 Laravel의 공개 디렉터리에 게시해야 합니다. 게시를 완료하려면 다음 명령을 사용하세요.

php artisan vendor:publish --provider "L5SwaggerL5SwaggerServiceProvider"
로그인 후 복사

게시 명령을 실행하면 public/vendor 디렉터리 아래에 swagger-ui 디렉터리가 표시됩니다. Swagger UI 모든 리소스. public/vendor 目录下看到 swagger-ui 目录,这个目录中包含了 Swagger UI 的所有资源。

接下来,在 Laravel 的配置文件 config/app.php 中添加以下行:

'providers' => [
    ...
    L5SwaggerL5SwaggerServiceProvider::class,
],

'aliases' => [
    ...
    'Swagger' => L5SwaggerFacadesL5Swagger::class,
],
로그인 후 복사
  1. 添加 Swagger 注释

为了告诉 Laravel Swagger 没有推断的 API 格式,我们需要在代码中添加 Swagger 注释。这些注释可以让 Laravel Swagger 自动解析您的 API,并生成对应的文档。

/**
 * @OAGet(
 *      path="/users",
 *      operationId="getUsersList",
 *      tags={"Users"},
 *      summary="Get list of registered users",
 *      description="Returns list of users",
 *      @OAResponse(response="200", description="successful operation"),
 *      @OAResponse(response=401, description="Unauthorized"),
 *      @OAResponse(response=403, description="Forbidden"),
 *      @OAResponse(response=404, description="Not Found"),
 *      @OAResponse(response=500, description="Internal Server Error")
 *     )
 */
로그인 후 복사

在上面的示例中,我们使用 @OAGet 注释表示这是一个 GET 请求。path 注释定义 API 的路径。tagssummary 注释用于在 Swagger 文档中显示摘要和标签。最后,@OAResponse 注释示例了可能的响应状态。

  1. 在 Laravel 中查看 Swagger 文档

在完成所有先前的步骤之后,我们可以使用以下 URL 来查看 Laravel Swagger 文档:

http://your-app.dev/api/documentation
로그인 후 복사

(请注意,如果您使用的是 Laravel 5.4 或以上版本,则无需定义 .dev,请改为使用 .test

다음으로, Laravel의 구성 파일 config/app.php에 다음 줄을 추가하세요:

rrreee

    Add Swagger 주석

    Swagger가 추론하지 않는다고 Laravel에 알리려면 API 형식을 사용하려면 코드에 Swagger 주석을 추가해야 합니다. 이러한 주석을 사용하면 Laravel Swagger가 자동으로 API를 구문 분석하고 해당 문서를 생성할 수 있습니다.

    rrreee

    위의 예에서는 @OAGet 주석을 사용하여 이것이 GET 요청임을 나타냈습니다. path 주석은 API 경로를 정의합니다. tagssummary 주석은 Swagger 문서에 요약과 태그를 표시하는 데 사용됩니다. 마지막으로 @OAResponse 주석은 가능한 응답 상태를 예시합니다.

      Laravel에서 Swagger 문서 보기

      🎜🎜이전 단계를 모두 완료한 후 다음 URL을 사용하여 Laravel Swagger 문서를 볼 수 있습니다: 🎜rrreee🎜 (For를 사용하는 경우 참고하세요) Laravel 5.4 이상에서는 .dev를 정의할 필요가 없습니다. 대신 .test 또는 다른 로컬 도메인 이름을 사용하세요.) 🎜🎜Laravel 개발 서버를 시작하고 위 URL에 접속하세요. , 브라우저에서 자동으로 생성된 Swagger 문서를 볼 수 있어야 합니다. 🎜🎜Swagger 문서에서는 정의된 API를 보고, API에 추가된 Swagger 주석을 기반으로 API를 테스트하고, 가능한 응답 상태를 볼 수 있습니다. 🎜🎜요약🎜🎜이 기사에서는 Laravel Swagger 확장 패키지를 사용하여 Swagger API 문서를 쉽게 생성하는 방법을 배웠습니다. 먼저 Laravel Swagger를 설치한 다음 Swagger를 시작하고 Swagger 주석을 API에 추가했습니다. 마지막으로 Laravel Swagger가 생성한 문서를 살펴보았습니다. 🎜🎜Laravel Swagger를 사용하면 API 문서를 수동으로 작성하는 부담을 크게 줄이고 발생할 수 있는 오류와 불일치를 방지할 수 있습니다. Swagger UI를 사용하면 개발자 친화적인 인터페이스를 제공하면서 API를 더 쉽게 보고 테스트할 수 있습니다. 🎜

위 내용은 Laravel 개발: Laravel Swagger를 사용하여 API 문서를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 대 Flutter: 모바일 개발을 위한 최고의 선택 PHP 대 Flutter: 모바일 개발을 위한 최고의 선택 May 06, 2024 pm 10:45 PM

PHP 대 Flutter: 모바일 개발을 위한 최고의 선택

Laravel - 장인 명령 Laravel - 장인 명령 Aug 27, 2024 am 10:51 AM

Laravel - 장인 명령

PHP에서 ORM(객체 관계형 매핑)을 사용하여 데이터베이스 작업을 단순화하는 방법은 무엇입니까? PHP에서 ORM(객체 관계형 매핑)을 사용하여 데이터베이스 작업을 단순화하는 방법은 무엇입니까? May 07, 2024 am 08:39 AM

PHP에서 ORM(객체 관계형 매핑)을 사용하여 데이터베이스 작업을 단순화하는 방법은 무엇입니까?

PHP 단위 테스트 도구의 장점과 단점 분석 PHP 단위 테스트 도구의 장점과 단점 분석 May 06, 2024 pm 10:51 PM

PHP 단위 테스트 도구의 장점과 단점 분석

PHP 분산 시스템 아키텍처 및 실습 PHP 분산 시스템 아키텍처 및 실습 May 04, 2024 am 10:33 AM

PHP 분산 시스템 아키텍처 및 실습

Laravel과 CodeIgniter의 최신 버전 비교 Laravel과 CodeIgniter의 최신 버전 비교 Jun 05, 2024 pm 05:29 PM

Laravel과 CodeIgniter의 최신 버전 비교

Laravel과 CodeIgniter의 데이터 처리 기능은 어떻게 비교됩니까? Laravel과 CodeIgniter의 데이터 처리 기능은 어떻게 비교됩니까? Jun 01, 2024 pm 01:34 PM

Laravel과 CodeIgniter의 데이터 처리 기능은 어떻게 비교됩니까?

PHP 코드 단위 테스트 및 통합 테스트 PHP 코드 단위 테스트 및 통합 테스트 May 07, 2024 am 08:00 AM

PHP 코드 단위 테스트 및 통합 테스트

See all articles