Swagger 란 ?
- REST API를 설계, 빌드, 문서화 및 소비하는 데 도움이되는 OpenAPI 사양을 기반으로 구축 된 일련의 오픈 소스 도구
아래 githup 을 통해서 자신의 라라벨 버전에 맞는 패키지를 찾아서 composer를 통해 swagger 설치
composer require "darkaonline/l5-swagger:5.7.*"
설치중에 나온 에러...
Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolve
r/Solver.php on line 220............
php.ini 의 memory.limit 를 -1로 변경 후 아파치 재시작 후 다시 설치하니 문제 없이 설치 되었음..
config 와 view 파일을 생성 후 generate 명령
php artisan vendor:publish --provider "L5Swagger\L5SwaggerServiceProvider"
php artisan l5-swagger:generate
오류 해결
Regenerating docs
ErrorException : Required @OA\Info() not found
at /k3/www/nana.afreecatv.com/vendor/zircote/swagger-php/src/Logger.php:39
35| $this->log = function ($entry, $type) {
36| if ($entry instanceof Exception) {
37| $entry = $entry->getMessage();
38| }
> 39| trigger_error($entry, $type);
40| };
41| }
42|
43| /**
Exception trace:
1 trigger_error("Required @OA\Info() not found")
/k3/www/nana.afreecatv.com/vendor/zircote/swagger-php/src/Logger.php:39
2 OpenApi\Logger::OpenApi\{closure}("Required @OA\Info() not found")
/k3/www/nana.afreecatv.com/vendor/zircote/swagger-php/src/Logger.php:72
Please use the argument -v to see more details.
해결 :
app/Http/Controllers/Controller.php 파일에서 아래 주석 추가
/**
* @OA\Info(
* title="Your super ApplicationAPI",
* version="1.0.0",
* )
*/
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}
Regenerating docs
ErrorException : Required @OA\PathItem() not found
at /k3/www/nana.afreecatv.com/vendor/zircote/swagger-php/src/Logger.php:39
35| $this->log = function ($entry, $type) {
36| if ($entry instanceof Exception) {
37| $entry = $entry->getMessage();
38| }
> 39| trigger_error($entry, $type);
40| };
41| }
42|
43| /**
Exception trace:
1 trigger_error("Required @OA\PathItem() not found")
/k3/www/nana.afreecatv.com/vendor/zircote/swagger-php/src/Logger.php:39
2 OpenApi\Logger::OpenApi\{closure}("Required @OA\PathItem() not found")
/k3/www/nana.afreecatv.com/vendor/zircote/swagger-php/src/Logger.php:72
Please use the argument -v to see more details.
해결 :
app/Http/Controllers/Auth/LoginController.php 파일에서 아래 주석 추가
/**
* @OA\Post(
* path="/login",
* summary="Sign in",
* description="Login by email, password",
* operationId="authLogin",
* tags={"auth"},
* @OA\RequestBody(
* required=true,
* description="Pass user credentials",
* @OA\JsonContent(
* required={"email","password"},
* @OA\Property(property="email", type="string", format="email", example="user1@mail.com"),
* @OA\Property(property="password", type="string", format="password", example="PassWord12345"),
* @OA\Property(property="persistent", type="boolean", example="true"),
* ),
* ),
* @OA\Response(
* response=422,
* description="Wrong credentials response",
* @OA\JsonContent(
* @OA\Property(property="message", type="string", example="Sorry, wrong email address or password. Please try again")
* )
* )
* )
*/
github.com/DarkaOnLine/L5-Swagger/wiki/Installation-&-Configuration
'개발' 카테고리의 다른 글
[테스트] TDD 와 BDD (0) | 2020.11.26 |
---|---|
[정규식] Jquery 자주 쓰는 정규식 모음 (0) | 2020.11.13 |
[파이썬] 기본 문법 (0) | 2020.10.12 |
[라라벨] 라라벨 설치 (0) | 2020.09.22 |
[파이썬] 파이썬 설치하기 (0) | 2020.09.21 |