在 Codeigniter 项目中生成 REST 文档

问题描述 投票:0回答:3

我有一个使用 Codeigniter 并使用此库的 REST Web 服务:https://github.com/chriskacerguis/codeigniter-restserver

我想为此 Web 服务生成文档。我希望使用 Swagger UI 来生成此文档。但是,我没有找到任何文档如何将 Swagger 与 Codeigniter 一起使用。

唯一使用这两种技术的项目是这个,但没有好的文档:https://github.com/panxp/codeigniter-swagger

有人可以粘贴使用这两种技术的示例或给我一个好的文档的链接吗? 当然,如果有另一个好的库来生成文档,如果它可以与 Codeigniter 一起使用,我会接受它。

php web-services codeigniter rest swagger-php
3个回答
8
投票

在过去的项目中,我使用过 http://apidocjs.com/,我发现它非常易于使用,并且可以在多个环境中直接生成。我花了大约 15-20 分钟才开始查看已经安装了 npm 的情况。这个并不真正关心目录或代码结构,只关心您在文档块中提供的信息。


0
投票

您可以使用 https://github.com/manish29ify/codeigniter3-restapi-with-swagger 它仍在开发中,但您可以非常轻松地将 Swagger 与 PHP Rest 服务器一起使用


0
投票

自动化 API 文档的推荐方法是从源代码生成 OpenAPI 规范文件,该文件可供其他工具(如编辑器、查看器、实时测试等)使用。

OpenAPI 规范文件可以采用 YamlJSON 格式,定义参考可以在此 github 存储库中找到:OpenAPI 规范 v3.1.1

对于 CodeIgniter (PHP),您可以使用 swagger-php,它是一个 Composer 包,能够根据 PHP 源代码中的属性或注释生成 OpenAPI 规范文件。


来自 Swagger-PHP 网站 :

1。使用作曲家安装:

composer require zircote/swagger-php

2。更新您的代码

<?php

use OpenApi\Annotations as OA;

/**
 * @OA\Info(
 *     title="My First API",
 *     version="0.1"
 * )
 */
class OpenApi
{
}

class MyController
{

    /**
     * @OA\Get(
     *     path="/api/data.json",
     *     @OA\Response(
     *         response="200",
     *         description="The data"
     *     )
     * )
     */
    public function getResource()
    {
        // ...
    }
}

3.生成 OpenAPI 文档

./vendor/bin/openapi src -o openapi.yaml

4。探索您的 API 并与之交互

使用 Swagger UI 等 OpenAPI 工具来探索您的 API 并与之交互。

© www.soinside.com 2019 - 2024. All rights reserved.