yii2-fast-api

yii2-fast-api是一个Yii2框架的扩展,用于配置完善Yii2,以实现api的快速开发。

此扩展默认的场景是APP的后端接口开发,因此偏向于实用主义,并未完全采用restfull的标准,方便前端开发处理接口数据以及各种异常。

Installation

使用 Composer 安装

  • 在项目中的 composer.json 文件中添加依赖:
"require": {"deepziyu/yii-fast-api": "*"
}
  • 执行 $ php composer.phar update 或 $ composer update 进行安装。

  • 在配置文件中( Yii2 高级版为 main.php,Yii2 基础版为 web.php )注入 fast-api 的配置:

// $config 为你原本的配置
$config = yiihelpersArrayHelper::merge($config,deepziyuyiirestController::getConfig()
);return $config;

Usage

  • 建立控制器 class YourController extends deepziyuyiirestController { /** * 示例接口 * @param int $id 请求参数 * @return string version api版本 * @return int yourId 你的请求参数 */ public function actionIndex($id) { return ['version'=>'1.0.0','yourId'=>$id]; } }
  • 发送请求看看

正常请求

POST /your/index HTTP/1.1
Host: yoursite.com
Content-Type: application/json{"id":"10"}

返回

{"code": 200,"data": {"version": "1.0.0","yourId": "10"},"message": "OK"
}

缺少参数的请求

POST /your/index HTTP/1.1
Host: yoursite.com
Content-Type: application/json

返回错误

{"code": 400,"data": {},"message": "缺少参数:id"
}
  • 查看自动生成的Api文档

http ://yoursite.com/route/api/index

Words In The End

感谢@暗夜在火星 的PhalApi项目,为此Yii2扩展提供设计的思路。

TODO

  • 更完善的文档指南
  • Signature 过滤器插件
  • 限流插件的使用
  • RequestID 以及日志存储追踪的参考

本文转自码云推荐 | 基于 yii2 的快速配置 api 服务 yii2-fast-api,仅供学习交流使用!

转载于:https://www.cnblogs.com/itsharehome/p/8120435.html

Yii2 的快速配置 api 服务 yii2-fast-api相关推荐

  1. Nova API服务之Nova API服务的启动

    Nova API的启动和工作流程.openstack的每个组件都提供API服务,用于接收和处理客户端的HTTP请求. Nova API服务是一个RESTful API服务. 1.Nova API服务的 ...

  2. API开发平台,企业级API服务发布平台

    API开发平台基于微服务架构快速开发API接口服务,是一款轻量级的API服务发布平台.可快速的开发企业级前后端分离的业务系统,通过建立数据模型和业务模型能够无代码快速的发布API服务. RestClo ...

  3. 阿里云轻量应用服务器基于CentOS系统镜像快速部署Apache服务

    阿里云轻量应用服务器提供了Windows Server系统镜像和主流的Linux系统镜像,您可以通过该类镜像创建纯净.安全.稳定的运行环境.本文以CentOS 7.6系统镜像为例,介绍如何快速配置Ap ...

  4. ginapi服务器性能,如何使用 Gin 和 Gorm 搭建一个简单的 API 服务 (一)

    gin-gonic 介绍 Go 语言最近十分火热,但对于新手来说,想立马上手全新的语法和各种各样的框架还是有点难度的.即使是基础学习也很有挺有挑战性. 在这篇文章中,我想用最少的代码写出一个可用的 A ...

  5. OpenStack之Nova分析——Nova API服务

    Nova是OpenStack中最核心的组件,可以说OpenStack中的其它组件都是为Nova服务的.所以Nova也是OpenStack最复杂的组件.Nova服务由多个子服务组成,这些子服务通过RPC ...

  6. php yii2 api框架,Yii2框架制作RESTful风格的API快速入门教程

    先给大家说下什么是REST restful REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Ro ...

  7. 如何用 Go 快速编写出 HTTP REST API 服务?

    在本教程中,明白如何用Go语言写出一个HTTP REST API服务. 作者 | Aurelie Vache 译者 | 槐序,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: ...

  8. java接口服务编排_GOKU API Gateway CE V3.1.0 发布:新增服务编排、配置版本管理等...

    Goku API Gateway (中文名:悟空 API 网关)是一个基于 Golang 开发的微服务网关,能够实现高性能 HTTP API 转发.服务编排.多租户管理.API 访问权限控制等目的,拥 ...

  9. 使用Magicodes.SwaggerUI快速配置SwaggerUI以及设置API分组

    Magicodes.SwaggerUI 快速配置和集成SwaggerUI 特点 通过配置文件简单配置即可完成SwaggerUI的API格式JSON生成和集成 支持API分组和隐藏 支持自定义页面和验证 ...

最新文章

  1. const的用法,特别是用在函数前面与后面的区别!
  2. Linux中表示“时间”的结构体和相关函数
  3. mvc core2.1 Identity.EntityFramework Core 注册 (二)
  4. 剑指offer有python版吗_剑指Offer算法类题目[Python版]
  5. Oracle -jdbc-java 的类型映射
  6. 穷举 百文百鸡
  7. Spring Data JPA 条件查询的关键字
  8. spring集合的注入
  9. Oracle12c部署,允许远程访问
  10. 【JAVA 第四章 流程控制语句】课后习题 冒泡排序的运用
  11. linux查看进程占用内存与ps命令
  12. python一维数组排序_【Python】数组排序
  13. doip 源码_汽车DoIP通讯协议的前世今生
  14. FileZilla Server使用实践
  15. gerrit服务器邮箱设置(三)
  16. LOJ#515. 「LibreOJ β Round #2」贪心只能过样例(bitset)
  17. 大数据开发有哪些难点?
  18. 原生JS --360度全景展示
  19. 高德地图宣布品牌升级,打造出门好生活开放服务平台
  20. html手机端页面meta,移动端网页meta设置和响应式

热门文章

  1. vld检测不输出_输出轴热处理形变超差,找找原因
  2. oracle修改数据库国际字符集,Oracle修改数据库字符集
  3. 沟通模型包含5个状态
  4. Mybatis用#{}从传递过来的参数中取值
  5. docker中命令docker images
  6. aes js 加盐值 解密_Java已有AES加解密,现需要前端Javascript加密调接口,返回的数据需要解密,目前互..._慕课猿问...
  7. 网络知识:整理各种路由器组网方法!网跨段也能访问!
  8. 收集 48 个 JavaScript 代码片段,仅需 30 秒就可理解(值得收藏)
  9. 程序大佬和菜鸟的区别,太准确了!
  10. 如何能出令自己满意的代码