Laravel 请求:获取请求方法 1 个改进

问题

如何在控制器中获取请求方法,比如是以 GET 还是 POST 方法发起请求的?

回答

可通过调用 Illuminate\Http\Request 实例的 method 方法返回请求的 HTTP 方法(总是大写),还可以使用 isMethod 方法校验 HTTP 方法是否与给出的方法字符串相匹配:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
    public function index(Request $request)
    {
        $method = $request->method();

        $isPost = $request->isMethod('post');

        return ['method' => $method, 'isPost' => $isPost];
    }
}

返回类似如下结果:

{
  "method": "GET",
  "isPost": false
}

参考

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!