[英]RESTful API Doc using SLIM and SWAGGER?
我是這個東西的新手,但我喜歡它。 我使用 Slim Framework 制作了一個小 REST Api。 現在我想有一個關於它的持續文檔。 我認為 swagger 是正確的選擇,但我還沒有找到如何整合它?
干杯 & 感謝您的耐心 :)
我想你正在尋找這個項目: zircote/swagger-php
在這里,您將找到如何根據用戶對 URL 的請求生成文檔。
基本上,您必須使用 Swagger Annotations 來注釋您的代碼,然后在 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');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.