Swagger는 Laravel, Spring Boot, CodeIgniter 및 ExpressJS와 같은 널리 사용되는 웹 프레임워크와 원활하게 통합되는 널리 사용되는 API 문서 및 테스트 도구입니다. 이 기사에서는 Swagger와 CodeIgniter의 통합에 중점을 둘 것입니다.
composer require zircote/swagger-php doctrine/annotations
Swagger UI용 swagger.json 파일을 생성하려면 컨트롤러를 생성해야 합니다. 원하는 대로 컨트롤러 이름을 지정하고 SwaggerDocGenerator.php를 제공합니다. 컨트롤러에서는 zircote/swagger-php의 OpenApiGenerator를 사용하여 모든 @OA 구문을 JSON으로 변환해야 합니다.
<?php namespace App\Controllers; use OpenApi\Generator; class SwaggerDocGenerator extends BaseController { /** * Generate OpenAPI documentation for the API ... * @return string */ public function generate(): string { // Specify the path where your API controllers are located $openapi = Generator::scan([APPPATH . 'Controllers']); $swaggerContent = $openapi->toJson(); // Save the generated OpenAPI content to a file $filePath = FCPATH . 'swagger_ui/swagger.json'; file_put_contents($filePath, $swaggerContent); return $swaggerContent; } /** * Render the SwaggerUI ... * @return string */ public function index() { return view('swagger_docs/index'); } } ?>
Config/Routes.php에 경로를 생성하면 예상되는 sawgger.json 파일을 생성할 수 있습니다.
// Create API documentation ... $routes->get('api/v1/docs/generate', 'SwaggerDocGenerator::generate'); $routes->get('api/v1/docs/ui', 'SwaggerDocGenerator::index');
여기서 처음 두 가지 방법을 살펴보겠습니다. 3번째 방법에 대해서는 다른 글에서 다루겠습니다.
composer require zircote/swagger-php doctrine/annotations
이 기사에서는 Swagger를 CodeIgniter 4와 통합하고, swagger.json 파일을 생성하고, Swagger UI에서 렌더링하고, Postman으로 가져오는 방법을 살펴보았습니다. 또한 사용자 정의 보기 내에서 Swagger UI를 렌더링하는 방법도 시연했습니다. 그러나 swagger.json 파일을 수동으로 생성하고 swagger-initializer.js 파일에서 URL을 업데이트하는 것은 이상적이지 않습니다.
다음 기사에서는 사용자 정의 CLI 명령을 사용하여 이 프로세스를 자동화하는 방법을 설명하고 이 목적을 위한 오픈 소스 패키지를 개발하는 것을 목표로 합니다. 의견 섹션에서 제안 사항이나 문의 사항을 자유롭게 공유해 주세요.
위 내용은 Swagger UI를 Codeigniter4와 통합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!