第三节:dingo/API 最新版 V2.0 之 Creating API Endpoints (连载)
对于这篇文章的标题,其实,直译就是创建api端点。但是,真的很难懂,我还是写为API路由吧。每篇,文章,我都会全部去进行实践操作,力求写一个好点的教程。
本文英文地址——>https://github.com/dingo/api/wiki/Creating-API-Endpoints
An endpoint is simply another term for a route. When talking about APIs many people refer to the routes you visit as an endpoint.
上面这句英文,是官方给出的关于这篇文章的介绍。大概意思就是,端点只是路由的一种术语。在谈论api时,许多人将您访问的路由称为端点。
1.Version Groups 版本组
为了避免和主程序自带的路由区分,这个包使用了它自己的路由器。因此,我们必须首先获得一个dingoAPI路由器的实例来创建我们的路由。如下:
$api = app('Dingo\Api\Routing\Router');
如果你想要某个组响应多个版本的API,可以传递多版本数组。如下:
$api->version(['v1', 'v2'], function ($api) {
});
这里的版本号可以看作和框架的标准路由分组一样传递数组属性作为第二个参数。如下:
$api->version('v1', ['middleware' => 'foo'], function ($api) {
});
你也能为你某个版本中的路由,统一一些属性。如下:
$api->version('v1', function ($api) {
$api->group(['middleware' => 'foo'], function ($api) {
// Endpoints registered here will have the "foo" middleware applied.
});
});
2.Creating Endpoints 创建路由
一旦你拥有一个版本组,你就可以使用$api 在这个版本组中,创建路由。
$api->version('v1', function ($api) {
$api->get('users/{id}', 'App\Api\Controllers\UserController@show');
});
因为每个版本组都是不相关的,相同的url路由,可以在不同的版本组中,作出不同的响应。
$api->version('v1', function ($api) {
$api->get('users/{id}', 'App\Api\V1\Controllers\UserController@show');
});
$api->version('v2', function ($api) {
$api->get('users/{id}', 'App\Api\V2\Controllers\UserController@show');
});
你也可以在不同的版本中,使用各自的方法注册资源和控制器。
提醒,你需要为控制器添加说明完整的命名空间(namespace),.例如:App\Http\Controllers
3.Named Routes And Generating URLs 命名路由并生成URL
命名你的路由可以使你方便的生成他们的 URL。你可以跟 Laravel 一样的方法命名你的路由。
$api->get('users/{id}', ['as' => 'users.index', 'uses' => 'Api\V1\UserController@show']);
现在你可以通过路由别名,生成这个别名的URL。
app('Dingo\Api\Routing\UrlGenerator')->version('v1')->route('users.index');
4.Viewing Routes In The Console 在特定的控制台上显示路由
如果你使用Laravel 5.1, 你可以通过使用Artisan命令查看。
$ php artisan api:routes
该命令和Laravel中的route:list命令一样。
第三节:dingo/API 最新版 V2.0 之 Creating API Endpoints (连载)的更多相关文章
- 第一节: dingo/API 最新版 V2.0 之安装讲解(连载)
我发现关于dingo/API V2.0的资料少之又少,应该也是发布时间不久的原因.下面,我就来给大家讲解(翻译)下官方的英文文档,如果有说的不对的地方,请指正.先附上,官网wiki地址https:// ...
- dingo/API 最新版 V2.0 之安装讲解
我发现关于dingo/API V2.0的资料少之又少,应该也是发布时间不久的原因.下面,我就来给大家讲解(翻译)下官方的英文文档,如果有说的不对的地方,请指正.先附上,官网wiki地址https:// ...
- 第四节:dingo/API 最新版 V2.0 之 Responses (连载)
因为某些某些原因,不能按时更新,唉.我会尽力,加快速度.(这句话不是翻译的哈) 原文地址--> https://github.com/dingo/api/wiki/Responses A fun ...
- laravel Passport - 创建 REST API 用户认证以及Dingo/Api v2.0+Passport实现api认证
第一部分: 安装passport 使⽤ Composer 依赖包管理器安装 Passport : composer require laravel/passport 接下来,将 Passport 的服 ...
- laravel Passport - Dingo/Api v2.0+Passport 实现 api 认证
第一部分: 安装passport 使⽤ Composer 依赖包管理器安装 Passport : composer require laravel/passport 接下来,将 Passport 的服 ...
- 自动脚本工具新版 v2.0
自动脚本工具 下载 下载工具后,解压,直接双击 "execute.bat" 文件后(前提已配置好 jdk 1.7 的环境),会生成文件夹 "output",该文 ...
- (弃)解读Openstack Identity API v2.0
目前OpenStack社区提供了详尽的API文档,并配有丰富的说明和示例,关于Identity API v2查看这里, 关于Identity API v3请查看这里. 尽管现在官方已经不建议OpenS ...
- RESTful API架构和oauth2.0认证机制(概念版)
1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Roy Fielding的 ...
- API Monitor v2.0 Alpha-r13 (32+64) 汉化版
API Monitor v2.0 Alpha-r13 (32+64) 汉化版: 链接: https://pan.baidu.com/s/1jIx5znC 密码: 4538 本软件已最大化汉化,已经趋于 ...
随机推荐
- BZOJ_2440_[中山市选2011]完全平方数_容斥原理+线性筛
BZOJ_2440_[中山市选2011]完全平方数_容斥原理 题意: 求第k个不是完全平方数倍数的数 分析: 二分答案,转化成1~x中不是完全平方数倍数的数的个数 答案=所有数-1个质数的平方的倍数+ ...
- 将wiki人脸数据集的性别信息提取出来制作标签
import scipy.io as scio dataFile = 'D:\\Users\\a\\Documents\\Tencent Files\\178026882\\FileRecv\\wik ...
- 响应式编程知多少 | Rx.NET 了解下
1. 引言 An API for asynchronous programming with observable streams. ReactiveX is a combination of the ...
- mysql怎样配置ODBC数据源
一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成.所以说mysql配置ODBC数据源也很重要. 工具/原料 ...
- sau交流学习社区--songEagle开发系列:Vue.js + Koa.js项目中使用JWT认证
一.前言 JWT(JSON Web Token),是为了在网络环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519). JWT不是一个新鲜的东西,网上相关的介绍已经非常多了.不是很了解的 ...
- org.springframework.cache.interceptor.SimpleKey cannot be cast to java.lang.String
springboot整合redis时,使用@Cacheable注解,如果方法的key参数为空,就会报org.springframework.cache.interceptor.SimpleKey ca ...
- SpringBoot 2 要不要升级
目录 前言 一.SpringBoot 简史 二.SpringBoot 2 的变化 三.要不要升级 前言 在谈SpringBoot 2.x 之前,先来聊点别的: 首先是Java 语言,这门长期占据编程语 ...
- 一般处理程序,将nvarchar值转换成数据类型int时失败
系统:WIndows 10 工具:Visual Studio 2017 在写代码的过程中,我遇到了这样的一个问题.如图 vs错误提示是在SqlHelper中有错,可是怎么改都不能解决问题. 最后发现是 ...
- str.方法的整理(字符串类型内置方法的具体使用)
<1>str.strip().str.lstrip()和str.rstrip() 1' str.strip()(主要方法) 方法:str.strip(self,chars) 作用:移除字符 ...
- 常见文本类css属性
学习web的第六天 p{ font-size:18px; /*文本尺寸*/ font-family:"隶书"; /*文本字体*/ font-weight:bold; /* ...