print( sjw.iq == 200) output : true

[Laravel] Laravel에서 Swagger 사용하기! 본문

PHP

[Laravel] Laravel에서 Swagger 사용하기!

sjwiq200 2020. 3. 13. 04:44
728x90
반응형

Swagger 는 REST API를 설계, 빌드, 문서화 및 소비하는 데 도움이되는 OpenAPI 사양을 기반으로 구축 된 일련의 오픈 소스 도구입니다.

 

 

우선 composer를 통해 swagger 패키지를 설정해줍니다.

저는 라라벨 5.8 버전을 사용하고 있습니당.

제일 아래에 가보면 해당 깃헙에 버전별로 어떤 패키지를 설정해야 하는지 잘 나와 있어요!

 

 

참고 : 

https://github.com/DarkaOnLine/L5-Swagger/wiki/Installation-&-Configuration

 

GitHub - DarkaOnLine/L5-Swagger: OpenApi or Swagger integration to Laravel

OpenApi or Swagger integration to Laravel. Contribute to DarkaOnLine/L5-Swagger development by creating an account on GitHub.

github.com

 

 

composer require "darkaonline/l5-swagger"

 

L5-Swagger's config와 view 파일을 생성해줍니다.

php artisan vendor:publish --provider "L5Swagger\L5SwaggerServiceProvider"

 

/config 파일 밑에를 한번 확인해보시면 다음과 같이 l5-swagger 파일이 생성되었습니다.

 

그리고 /resources/views 하위에 l5-swagger 관련 뷰가 보입니다.

/config/app.php 파일에 provider를 설정해줍시다.

'providers' => [

        /*
         * Laravel Framework Service Providers...
         */
        L5Swagger\L5SwaggerServiceProvider::class,
    ],

 

 

그러면 /config/l5-swagger.php 를 보시면 route 밑에

'api' => 'api/documentation' 

와 같은 부분이 있습니당!

 

laravel을 구동시킨 후에 http://localhost:8000/api/documentaion 에 접속해봅시다.

 

위와 같은 화면을 볼 수 있습니다. /public/docs/api-docs.json 파일이 없어서 그렇습니당!

그런데 저는 yaml 파일을 사용해보겠습니당!

 

yaml sample code는 https://editor.swagger.io/ 를 참고 하시면 됩니당

 

Swagger Editor

 

editor.swagger.io

 

/public/docs/api-docs.yaml 문서를 만들어 줍시다!

 

그리고 아까 그 화면에서 json 확장자를 yaml 로 바꿔 줍니다!

 

 

 

그러면 정상적으로 작동하는 것을 볼수 있습니다!

 

 

참고 : https://github.com/DarkaOnLine/L5-Swagger

 

DarkaOnLine/L5-Swagger

Swagger integration to Laravel 5. Contribute to DarkaOnLine/L5-Swagger development by creating an account on GitHub.

github.com

 

728x90
반응형
Comments