PHP - Laravel 接口请求参数获取(多种方式)

三、方式二:Request
  • 通过 Request 类来获取数据(use Illuminate\Http\Request),这里只列一些常用的。

// 获取指定参数,并当没传该参数时附带默认值

Request::get(‘参数名称’, ‘默认值(当参数没传时生效)’);

// 获取所有的用户的输入

Request::all();

// 获取指定指定参数

Request::only([‘参数名称’]);

// 获取除指定指定参数以外的所有参数

Request::except([‘参数名称’]);

// 判断是否存在指定参数

Request::has(‘参数名称’);

// 判断请求类型(当一个接口支持多种请求方式的时候可以进行判断)

Request::isMethod(‘请求方式(get、post、put …)’);

  • web.php 中使用:

// 使用 Request:: 不能导入 use Illuminate\Http\Request;

Route::get(‘req’, function () {

return Request::has(‘id’) ? ‘存在’ : ‘不存在’;

});

// 使用 $request 必须导入 use Illuminate\Http\Request;

Route::get(‘req’, function (Request $request) {

return $request->has(‘id’) ? ‘存在’ : ‘不存在’;

});

  • 控制器(例如:LoginController.php) 中使用:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Input; class LoginController extends Controller { // 登录 public function index(Request $request) { // 不能使用 Request:: 会报错,控制器方法中只能使用 $request // return Request::has('id') ? '存在' : '不存在'; // 可以使用 Input:: // return Input::has('id') ? '存在' : '不存在'; // 每个路由对象都会有 $request 对象 return $request->has('id') ? '存在' : '不存在'; } } * 路由参数 - 细节注意 // 如果不需要使用 $request,且有路由参数 Route::get('req/{tag?}', function ($tag = '') { return $tag; }); // 如果需要使用 $request,且有路由参数 Route::get('req/{tag?}', function (Request $request, $tag = '') { // return $request->has('id') ? '存在' : '不存在'; return $tag; }); #### []( )四、方式三:`request()` * `request()` 辅助函数方式获取,不需要导入任何库或者命名空间,直接使用。 `request()` 函数返回的就是 `Request` 类对象,所以他两的可用方法是一致的。 // 获取指定参数,并当没传该参数时附带默认值 request()->get('参数名称', '默认值(当参数没传时生效)'); // 获取所有的用户的输入 request()->all(); // 获取指定指定参数 request()->only(['参数名称']); // 获取除指定指定参数以外的所有参数 request()->except(['参数名称']); // 判断是否存在指定参数 request()->has('参数名称'); // 判断请求类型(当一个接口支持多种请求方式的时候可以进行判断) request()->isMethod('请求方式(get、post、put ...)'); .... * 如果需要这个对象更多的可用方法,可以输出该对象的所有可用方法。 dump(get_class_methods(request())); [ ![](https://img-blog.csdnimg.cn/19652adf9f3d40958c9005caa2c15378.png) 超强干货来袭 ![](https://img-blog.csdnimg.cn/img_convert/4c85937a4ee0b079c3e40e4257f8ff50.png) # 最后 **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。** **深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。** **因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。** ![img](https://img-blog.csdnimg.cn/img_convert/f6df2bcde2737fcd4b65741a4379d7e1.jpeg) ![](https://img-blog.csdnimg.cn/img_convert/6dbf6d458bb00a19d09fbbb7dd8affc1.png) ![](https://img-blog.csdnimg.cn/img_convert/22c0e1fecfabb7c78ddbe9385a56ba1a.png) **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!** [**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618191877) **由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!** **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!** [**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618191877) **由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值