asligresik/easyapi

Codeigniter 4 的 REST API 生成器

v0.1.2 2023-05-26 07:46 UTC

This package is auto-updated.

Last update: 2024-09-26 10:44:42 UTC


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:generatephp 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许可证,但所构建的项目需符合各自的政策。