我是一个新手,但我喜欢它。我用Slim框架创建了一个小型的REST API。现在我想要一份持续的关于它的文档。我认为Swagger是正确的选择,但我还没有弄清楚如何集成它?
祝好 & 感谢您的耐心 :)
我是一个新手,但我喜欢它。我用Slim框架创建了一个小型的REST API。现在我想要一份持续的关于它的文档。我认为Swagger是正确的选择,但我还没有弄清楚如何集成它?
祝好 & 感谢您的耐心 :)
我认为您正在寻找这个项目:zircote/swagger-php
在这里您将找到如何根据用户请求生成文档的方法。
基本上,您需要使用Swagger注释对代码进行注释,然后在Slim中创建另一个路由,并编写类似于以下代码的代码:
<?php
use Swagger\Swagger;
$swagger = new Swagger('/project/root/top_level');
header("Content-Type: application/json")
echo $swagger->getResource('/pet', array('output' => 'json'));
它会即时为您生成Swagger API文档。
关于adosaiguas回答的最新更新:
在使用Slim Framework 4.0和zircote/swagger-php时, 可以使用以下代码提供api终端,以提供swagger / OpenAPI 3.0 json描述:
use function OpenApi\scan;
/**
* @OA\Get(
* path="/openapi",
* tags={"documentation"},
* summary="OpenAPI JSON File that describes the API",
* @OA\Response(response="200", description="OpenAPI Description File"),
* )
*/
$app->get('/openapi', function ($request, $response, $args) {
$swagger = scan('--PATH TO PROJECT ROOT--');
$response->getBody()->write(json_encode($swagger));
return $response->withHeader('Content-Type', 'application/json');
});