asligresik / easyapi
Codeigniter 4 的 REST API 生成器
Requires
- php: >=7.2
- codeigniter4/framework: ^4.2
- zircote/swagger-php: ^3.0
README
什么是 easyAPI?
easyAPI 是一个 REST API 框架,集成了 Swagger,可以生成 Codeigniter 4 的 API 文档。使用 easyAPI,您可以在不到 5 分钟内生成 REST API。
安装与设置
- composer require asligresik/easyapi
发布 Swagger 文档的初始文件
php spark api:publish
这个命令将复制文件- 从 src/Controllers/Swagger.php 到 app/Controllers
- 从 src/Views 到 app/Views
- 从 src/public/assets 到 public/assets
- 从 src/Commands/API/template 到 app/Commands/API/template
覆盖默认模板
- 编辑 app/Commands/API/template 文件夹中的文件
生成 REST API
php spark api:generate
或php spark api:generate -p Modules\API\
在特定文件夹中生成文件。之后,系统会要求您输入要生成该 REST API 的表名。我们可以选择一个表或所有表,如果想要生成所有表,请写入all
或写入存在于您数据库中的单个表名。如果没有错误,系统将为您生成控制器、模型和实体文件。- 最后,您必须将最后一条命令中显示的新路由添加到
app/Config/Routes.php
。 - 使用命令
./vendor/bin/openapi -o ./public/assets/api.yaml ./app
生成 api.yaml,以使用 Swagger 显示 API 文档,使用 yaml 格式(默认)作为数据源 - 使用命令
./vendor/bin/openapi -o ./public/assets/api.json ./app
生成 api.json,以使用 Swagger 显示 API 文档,使用 json 格式(可选)作为数据源 - 在 https://:8080/swagger 中打开 API 文档
功能
- 支持使用多个列进行数据搜索
- 支持搜索日期列
- 支持分页
示例
-
与其他表连接,您可以查看 ArtikelKategoriModel.php
-
Swagger 中订单数据的示例参数 {"order":[{"id":"desc"},{"tgl_upload":"asc"}]}
-
Swagger 中搜索数据的示例参数 {"search":[{"id_kategori":1}]}
-
Swagger 中搜索范围数据的示例参数 {"search":[{"tgl_upload":{"start":"2016-01-01", "end":"2020-01-01"} }]}
-
Swagger 中使用 like 搜索数据的示例参数 {"search":[{"judul":"membangun%25"}]} 或 {"search":[{"judul":"%25membangun%25"}]} 使用
%25
而不是%
,您可以将%25
放在关键字前后或组合前后作为搜索数据的关键字 -
根据列名搜索数据 {base_url}/artikels?search[id_kategori]=1
-
根据列名排序数据 {base_url}/artikels?order[id]=desc&order[tgl_upload]=asc
-
根据列名搜索和排序数据 {base_url}/artikels?search[id_kategori]=1&order[id]=desc&order[tgl_upload]=asc
-
带有分页的搜索 {base_url}/artikels?page=1&limit=10
-
带有分页的搜索和排序 {base_url}/artikels?search[id_kategori]=1&order[id]=desc&order[tgl_upload]=asc&page=1&limit=10
-
使用 between 操作符进行搜索,如果我们想要基于日期范围或其他等过滤数据 {base_url}/artikels?search[tgl_upload][start]=2016-01-01&search[tgl_upload][end]=2020-01-01
-
使用关键字进行搜索 {base_url}/artikels?search[judul]=membangun%25 或 {base_url}/artikels?search[judul]=%25membangun%25 将在查询上产生 like 操作符
-
多列搜索
https://:8080/wpOptions?search[option_name]=%mailserver%&search[autoload]=yes&search[option_id][start]=17&search[option_id][end]=18&limit=20
待办事项
- 创建此应用程序的示例
版权
easyApi 由 asligresik 开发和维护
许可证
easyApi的许可证是MIT许可证,但所构建的项目需符合各自的政策。