簡體   English   中英

使用 SLIM 和 SWAGGER 的 RESTful API 文檔?

[英]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.0zircote/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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM