Laravel7.15.0学习中遇到的坑—请求和响应

前言:

最近在学习 laravel 框架,学习的版本是 7.15.0 ,记录一下学习过程中遇到的问题和难点以及一些总结。

请求

访问请求
    /**
     * 请求
     * @param Request $request
     */
    public function testRequest(Request $request)
    {
        $name = $request->input('name');
        //获取请求路径
        $path = $request->path();
        //获取请求 URL
        //不包含查询字符串
        $url = $request->url();
        //包含查询字符串
        $url_with_query = $request->fullUrl();
        //获取请求方法
        $method = $request->method();

    }
获取请求输入
//获取所有输入值
$input = $request->all();

在这里插入图片描述

获取单个输入值
        //获取单个值
        $name = $request->input('name');
        //处理表单数组输入时,可以使用”.”来访问数组输入:
        //http://127.0.0.1:86/api/testRequest?param[][name]=小明&param[][name]=25
        $input = $request->input('param.0.name');
        $names = $request->input('param.*.name');
获取全部值
	  //当 input 方法不传入任何参数时,效果和 all 方法等同,返回所有参数的关联数组
	  $input = $request->input();
        //input 方法会从整个请求负载(包括查询字符串)中获取数值,query则只会从查询字符串中获取数值
        //http://127.0.0.1:86/api/testRequest?name=小明
        $name = $request->query('name'); 
        //获取全部的值
        $query = $request->query();
判断请求参数是否存在
        //参数存在返回true
        if ($request->has('name')) {
            return true;
        }
        //判断多个参数全部存在返回true
        if ($request -> has(['name', 'age'])) {
            return true;
        }
        //判断参数任意存在返回true
        if ($request->hasAny(['name', 'age'])) {
            return true;
        }
        //判断参数存在且参数值不为空返回true
        if ($request->filled('name')) {
            return true;
        }
获取上传的文件
        //获取上传的文件,文件名file
        $file = $request->file('file');
        $file = $request->file;//这里取的是上传文件的参数
    	//判断文件在请求中存在返回true
        if ($request->hasFile('file')) {
            return true;
        }
        //判断文件在上传过程中是否出错,不出错返回true
        if ($request->file('file')->isValid()){
            return true;
        }
        //获取文件和扩展名,file为上传文件的参数名
        $path = $request->file->path();
        $extension = $request->file->extension();

响应

Response 对象
    /**
     * 响应
     * @return \Illuminate\Http\JsonResponse
     * @return \Illuminate\Http\Response
     */
    public function testResponse()
    {
        return response('Hello World', 200)
            ->header('Content-Type', 'text/plain');
    }
JSON 响应
        //json 方法会自动将 Content-Type 头设置为 application/json,
        //并使用 PHP 函数 json_encode 方法将给定数组转化为 JSON 格式数据
        return response() -> json(['code' => 1, 'data' => [1111111111], 'msg' => '返回成功!']);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值