laravel 使用 Dingo开发api

使用Laravel框架编写接口 Laravel有自己的模板文件,但其缺点便是复用性不强,例如,当你写一个页面时,其某些功能与另一个相似,但你必须在重建一个控制器来进行编写数据,而写成接口形式其可在其他页面重复调用这个接口也可以前后端分离。写接口前需要先将csrf的中间件进行注释掉,若不注释,当你发起post请求时,会请求错误,因为你没有携带csrf给中间件进行验证。2. 解决跨域问题:因为浏览器的同源策略的关系,在其他页面会遇到阻止跨域的问题。3.在终端执行创建一个Admin模型,在模型中编写允许操作的表名和允许写入的字段。 阅读详情

1、修改composer.json

“require”: {“dingo/api”:”1.0.*@dev”}

2、执行composer update命令安装dingoapi

3、打开config/app.PHP

在providers中添加Dingo\Api\Provider\LaravelServiceProvider::class

运行phpartisan vendor:publish –provider=”Dingo\Api\Provider\LaravelServiceProvider”

运行成功后会生成routes/api.php 和 config/api.php文件

4、配置.env文件

加上API_PREFIX=api

其余全部是默认设置

5、修改routes/api.php 文件,设置路由

$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
    $api->group(['namespace' => 'App\Http\Controllers\Api\V1', 'middleware' => ['api.throttle', 'api.auth']], function ($api) {
        $api->get('/test', 'TestController@index');
    });
});

中间件可以自定义
在对应的目录中创建 TestController.php     index 方法

访问域名,XXXX/api/test 路由中的 XXX为laravel的路由 api为API_PREFIX设置的前缀, test 为 routes/api.php 文件中对应的路由

关于Dingo 认证
自定义认证
https://github.com/liyu001989/dingo-api-wiki-zh/blob/master/Authentication.md

你的 config/api.php 文件中配置它。

'auth' => [
    'custom' => 'App\Http\Controllers\Api\Auth\SignProvider',
],

Dingo 更多功能

设置ip访问频次
    //OAuth路由
    //Get access_token / Rate Limiting 每IP限制
    $api->post('oauth/access_token', [
        'middleware' => 'api.throttle', 
        'limit' => 120, //频次
        'expires' => 1, //分钟
        'uses' => 'OAuthController@access_token'
    ]);

    //设置别名。验证字段 
    //grant type: authorization code GET
    $api->get('oauth/authorize', ['as' => 'oauth.authorize.get', 'middleware' => ['check-authorization-params', 'auth'], 'uses' => 'OAuthController@getAuthorize']);
    //grant type: authorization code POST
    $api->post('oauth/authorize', ['as' => 'oauth.authorize.post', 'middleware' => [ 'csrf', 'check-authorization-params', 'auth'], 'uses' => 'OAuthController@postAuthorize']);

    //校验权限
        // api.auth 中间件包含了所有oauth验证(oauth,oauth-user,oauth-client)
    $api->group(['middleware' => ['api.auth']], function ($api) { 

        // 部门
        $api->get('department', 'DepartmentController@index');
        $api->post('department', 'DepartmentController@store');
        $api->put('department', 'DepartmentController@update');
        $api->delete('department', 'DepartmentController@destroy');    
        //Rate Limiting 每IP每1分钟限制访问2次
        $api->get('department/test', [
            'middleware' => 'api.throttle', 
            'limit' => 2, //频次
            'expires' => 1, //分钟
            'uses' => 'DepartmentController@test'
        ]); 
        //用户
        $api->get('user', 'UserController@index'); 
        //仅允许特定授权 oauth-user      
        $api->get('user/current', ['middleware' => 'oauth-user', 'uses' => 'UserController@current']);
        $api->get('user/{id}', 'UserController@show');

    });

关于API Blueprint,生成markdown写法文档

php artisan api:doc --output-file "D:\api.apib"


然后利用aglio   github地址:https://github.com/danielgtaylor/aglio 
npm install -g aglio
aglio -i "D:\api.apib" -o "D:\api.html"      //生成html的api文档

关于路由列表

php artisan route:list


Laravel中缓存路由的命令:    php artisan route:cache
而dingo api缓存路由的命令是: php artisan api:cache

转自:飘易博客

基于Simulink的PMSM轮毂电机崎岖路面悬架协同控制仿真 本文完成了基于Simulink的PMSM轮毂电机崎岖路面悬架协同控制仿真,实现了:✅ 构建了四轮独立驱动+主动悬架高保真整车模型✅ 实现了Skyhook主动悬架控制✅ 设计了驱动-悬架状态共享与协同决策机制✅ 验证了5 m/s高速下连续颠簸路面稳定通过能力✅ 为高性能移动机器人提供一体化底盘解决方案。 阅读详情

相关推荐

别再为数码管引脚发愁了!用STM32的普通IO口驱动TM1650数码管模块(附完整模拟I2C代码)

本文详细介绍了如何利用STM32的普通IO口通过模拟I2C协议驱动TM1650数码管模块,提供了完整的硬件连接方案和软件实现代码。通过模拟I2C技术,开发者可以灵活使用任意GPIO引脚控制多位数码管显示,解决了传统驱动方式占用大量IO资源的问题。文章包含TM1650寄存器解析、亮度控制等实用功能实现,并分享了常见问题排查与性能优化技巧。

weixin_30764771的博客 657

Laravel使用Dingo API+JWT实现认证机制 无痛刷新Token

安装Dingo API 和 JWT 执行composer命令 composer require dingo/api composer require tymon/jwt-auth 修改config/app.php添加配置 'providers' => [ Tymon\JWTAuth\Providers\LaravelServiceProvider::class, ] 'aliases' => [ 'JWTAuth' => Tymon\JWTAuth\Facades\.

Hannnnnnnnnnnnn的博客 1724

vue + video.js 加载多种视频流(HLS、FLV、RTMP、RTSP)

由于需要在一个项目内接入多种常用的视频流,所以接触到video.js,这里就做个记录。vue安装就不讲了,直接从项目开始了。RTSP格式已测试,无法成功播放,浏览器就识别不了STSP协议(提供两个解决方案:第一个是通过后端去转格式。第二个方案就是安装插件/中间件。目前想用浏览器直接播放RTSP格式流,没有其他更好的解决方法。

qq_17627195的博客 1万+

Dingoapi的使用

安装 Dingo 能为Laravel提供一整套包括从路由,到认证的RESTful API开发工具 Dingoapi的安装命令 composer require dingo/api 有时候会有内存限制,同时内存不足,就可以使用临时提高内存命令 COMPOSRT MEMORY_LIMIT=-1 由于在laravel安装的插件都会放到vendor目录中,而且这个目录是对外不可见的,所以,需要使用命令将API的配置文件发布到config下 php artisan vendor:publish --provide

小信的博客 2425

论文阅读:Visual Relationship Detection with Language Priors

Visual Relationship Detection with Language Priors(ECCV2016) 文章   尽管大多数的relationship并不常见,但是它们的object和predicate却更频繁地独立出现。paper用这个insight分别独立训练训练object和predicate的模型,然后再进行组合来预测relationship。Visual relatio...

Kivee的博客 2877

App inventor2通过蓝牙控制Arduino Uno LED开关

App inventer2控制Arduino Uno LED开关 如果学会这个小程序,大部分的手机通过蓝牙控制Arduino的功能都可以实现,这个小示例是通过蓝牙模块向Arduino发送"0"和"1",而其它功能要发送其它不同的字符串内容给Arduino. 所需硬件: Arduino Uno JDY-16 蓝牙模块(我的是蓝牙4.2版本) 草帽LED(可选) 手机(我用的是安卓,苹果手机应该也可以,最近其应用商店也有App inventor(AI)伴侣) 软件: Aduino IDE或者Platfom

Firmin123456的博客 5498

dingo/api项目包的安装及响应介绍

前言在构建高效且可扩展的API服务时,选择合适的框架和工具至关重要。本指南将引领您走进dingo/api的世界,一个专为Laravel设计的强大API构建包。从安装配置dingo/api开始,我们将逐步揭开其背后强大的功能,包括如何构建符合RESTful规范的端点、管理路由以及生成可预测的URLs。此外,我们还将深入探讨如何调整数据库配置、执行迁移以确保数据一致性,并介绍如何使用响应生成器来优雅地处理API响应。

你华还是你华 1836

【AHE数据集】中国2019年多源热排放数据集-500m空间分辨率

【AHE数据集】中国2019年多源热排放数据集

WW、forever的博客 411

Laravel & Lumen RESTFul API 扩展包:Dingo API(一) —— 安装配置篇

https://xueyuanjun.com/post/3822 Dingo API 为开发者提供了一整套工具以便帮助你轻松、快捷的构建自己的API。这些工具包括: 内容协商 多认证适配器 API版本 频率限制 响应转化和格式化 错误及异常处理 内部请求 API文档 1、安装 安装该扩展包之前需要保证已经安装以下程序: Laravel 5.1+ 或 Lumen 5.1+ P...

slqgenius的博客 986

大模型_WIN10使用hyper-v安装Ubuntu24.04虚拟机_配置独立静态IP地址_连接外网_并与内网其他机器互通_通过容器安装Dify_超详细安装过程002--人工智能工作笔记0247

本文详细描述了在Hyper-V环境中配置网络、安装Ubuntu虚拟机、设置IP地址、安装Docker以及部署Dify应用的过程。首先,通过Hyper-V管理器创建外部虚拟交换机(ExternalSwitch),并配置本机、虚拟交换机和Ubuntu虚拟机的IP地址,确保网络互通。接着,在Ubuntu虚拟机中安装Open-VM-Tools和Docker,并配置Docker的国内镜像源。最后,通过Git克隆Dify源码,使用Docker Compose启动Dify应用,完成部署。整个过程涵盖了网络配置、虚拟机管理

添柴程序猿的专栏 1750

PCB仿真软件:Altium Designer_(18).PCB设计中的热管理

在PCB设计中,热管理是一个至关重要的环节。随着电子设备的集成度越来越高,功耗和发热量也随之增加,不合理的热设计可能导致电路板过热,从而影响电路的性能和可靠性。热管理不仅能够提高电路板的使用寿命,还能确保电路在各种环境条件下的稳定工作。本节将详细介绍如何在Altium Designer中进行有效的热管理,包括热分析、热设计和热仿真等关键步骤。

kkchenjj的博客 1984

laravel 开发RestFul接口【一、集成三方扩展 - dingo/api】

1、在laravel的根目录的composer.json 文件中引入 "dingo/api": "1.0.*@dev" 2、更新 composer执行composer update 3.注册服务提供者 在config/app.php注册到 providers 数组: Dingo\Api\Provider\LaravelServiceProvider::class,4.生成dingo/api

ZUOKA 6805

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

laravel dingo/api 笔记

使用 Laravel 开发 API,参考了网上一些资料,laravel 默认已经支持了 API 开发,但是因为都没有了解过,打算尝试使用 Dingo API github 地址: https://github.com/dingo/api laravel-china 中文文档: https://laravel-china.org/docs/dingo-api/2.0.0 文档写的非常详细,翻译的也非...

weixin_44706754的博客 1289

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

php dingo和jwt,三、Laravel5.4+Dingo+JWT 开发API

安装dingo api在composer.json中添加composer require dingo/api:1.0.x@dev在config/app.php'providers' => [//前面还有很多Dingo\Api\Provider\LaravelServiceProvider::class,]终端运行 生成配置文件php artisan vendor:publish --pro...

weixin_35108433的博客 265

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

laravel 5.5 使用 dingo 开发 API

dingo/api 是一个 Lumen 和 Laravel 都可用的 RestFul 工具包,可以帮助我们快速的开始构建 RestFul API Laravel 5.5 的适配版本为dingo/api:v2.0.0-alpha1 所以我们需要先使用 composer 来下载 dingo 使用命令 composer require dingo/api:2.0.0-alpha1 即可下载 但是

qq_36431213的博客 4755

基于laravel使用dingo/api + jwt开发api接口

这里就不去叙说dingo/api的牛逼之处了,要是不知道你也不会看这篇文章。集成dingo/api1.安装扩展包命令行cd到laravel项目安装目录,执行下面命令安装dingo/api扩展包:1composer require dingo/api:1.0.x@dev还可以直接修改composer.json文件中的require字段,增加下面键值对:1"dingo/api": "1.0.*@dev...

乖乖康少 3056

Laravel 5 开发API(Dingo Api + JWT)

引入Dingo Api 和 JWT GitHub-Dingo GitHun-JWT 分别将Dingo 和 JWT GitHub-wiki下的Installation目录中的 “dingo/api”: “1.0.*@dev” “tymon/jwt-auth”: “0.5.*” 写入到laravel框架文件的composer.json文件下的”require”集合中如图: 然后

Lxp的博客 6411

php dingo和jwt,Laravel5.5+dingo+JWT 开发后台 API

参考https://www.jianshu.com/p/62b0c4d75e59 这篇文章基本就能搭建出环境,我使用的版本跟他一样 "dingo/api": "2.0.0-alpha1","tymon/jwt-auth": "^1.0.0-rc.1",不知道别的版本有啥大的区别,但是网上找的其他一些文章使用的是旧的版本,jwt封装的东西路径可能不一样,可能会保错,有些文档还说要手动添加Tymon\...

weixin_34901508的博客 191

基于laravel使用dingo/api + jwt开发api接口扫盲篇

这里就不去叙说dingo/api的牛逼之处了,要是不知道你也不会看这篇文章。集成dingo/api1.安装扩展包命令行cd到laravel项目安装目录,执行下面命令安装dingo/api扩展包:1composer require dingo/api:1.0.x@dev还可以直接修改composer.json文件中的require字段,增加下面键值对:1"dingo/api": "1.0.*@dev...

darkhole的博客 2332

laravel API开发,使用dingo/api

1、composer添加 "dingo/api": "1.0.*@dev" composer require dingo/api:1.0.x@dev 2、配置文件app.php添加注册 Dingo\Api\Provider\LaravelServiceProvider::class, 3、添加自定义配置(此时会在配置文件中生成api.php) php arti...

weixin_30484739的博客 217

Laravel Api 开发系列 - Dingo API 的使用

源码 使用 Dingo Api 本文使用的数据库与基础篇相同,故不再重复说明。 初始化 安装 $ composer require dingo/api:1.0.x@dev 注册 /config/app.php 'providers' => [ Dingo\Api\Provider\LaravelServiceProvider...

weixin_34234829的博客 432

php dingo和jwt,laravel5.5+dingo+JWT开发后台API

参考https://www.jianshu.com/p/62b... 这篇文章基本就能搭建出环境,我使用的版本跟他一样 "dingo/api": "2.0.0-alpha1","tymon/jwt-auth": "^1.0.0-rc.1",不知道别的版本有啥大的区别,但是网上找的其他一些文章使用的是旧的版本,jwt封装的东西路径可能不一样,可能会保错,有些文档还说要手动添加TymonJWTAuth...

weixin_32325225的博客 208

Laravel5 Dingo Api接口开发 思路

 写接口的思路步骤如下:(以分类举例)1、增加路由(routes/api.php)    举例:$api->get('categories', 'CategoriesController@index')    ->name('api.categories.index');2、如果需要表单提交,则增加 Request(如果不需要表单提交请求,则忽略此步骤):(app/Http/Reque...

IT-Andy 1964

php laravel api开发,Laravel从零开发后台API(一)

介绍在开发后台接口现在更多的企业选择了PHP来开发后台接口 当然Python和NodeJs不失为是一种不错的选择不过这里就以PHP为例 基于Laravel框架开发后台API 这里也是如果你是从事其他方向想做一些后台API开发 都可以去尝试一下的前期准备当然前提是安装PHP的环境 因为PHP7无论是从性能还是以后的推广度都是首选所以如果想去繁从简的话可以安装PHP的集成环境 这里可以XAMPP 这里...

weixin_34141225的博客 955
上一篇: Nginx虚拟目录alias和root两种配置方式区别
下一篇: key_load_public: invalid format 怎么办?
o王o
博客等级 码龄13年 32粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值