You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel中创建支持Postman键值参数的GET API

Laravel GET API 改为查询参数实现方案

1. 修改路由配置

把原来带可选路径参数的路由,改成固定路径的GET路由,无需在路径中定义参数:

// api.php
Route::get('outlay', [GetValuesController::class, 'getOutlays']);

2. 调整控制器逻辑

将原来的路径参数获取方式,改为从请求查询参数中获取,同时优化查询逻辑减少重复代码:

use Illuminate\Http\Request;
use App\Models\Outlay;
use App\Http\Resources\OutlayResource;
use App\Enums\Status;

function getOutlays(Request $request)
{
    // 基础查询:筛选已确认状态并按更新时间排序
    $query = Outlay::where('status', Status::CONFIRMED_BY_EMPLOYEE)
                   ->orderBy('updated_at', 'asc');

    // 获取查询参数:startdate 和 enddate
    $startdate = $request->query('startdate');
    $enddate = $request->query('enddate');

    // 如果存在日期参数,添加区间筛选
    if ($startdate && $enddate) {
        $query->whereBetween('updated_at', [$startdate, $enddate]);
    }

    // 返回资源集合
    return response()->json([
        OutlayResource::collection($query->get())
    ], 200);
}

3. Postman 调用方式

现在可以通过固定路径,以键值对形式传入查询参数:

  • 直接拼接URL:http://127.0.0.1:8000/api/outlay?startdate=2023-02-14%2009:33:23&enddate=2023-02-14%2009:33:23
  • 或者在Postman的「Params」标签页中添加:
    • 键:startdate,值:2023-02-14 09:33:23
    • 键:enddate,值:2023-02-14 09:33:23

可选优化:添加参数验证

为保证传入的日期格式合法,可在控制器开头添加验证逻辑:

$request->validate([
    'startdate' => 'nullable|date',
    'enddate' => 'nullable|date|after_or_equal:startdate',
]);

若传入的日期格式错误,接口会自动返回422验证错误响应,提升接口健壮性。

内容的提问来源于stack exchange,提问作者laraCoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 17:11:08