【问题标题】:putting if statement in api with laravel使用 laravel 将 if 语句放入 api
【发布时间】:2019-12-13 13:59:44
【问题描述】:

我目前正在学习 API 的工作原理,我的导师给了我一个任务,即使用 API 创建提交表单并使用 laravel 将数据存储在数据库中,如果某些字段的逻辑,该任务也需要强制执行。

我已成功完成第一项任务(将数据存储到数据库),但我在编写强制性 if 时遇到了困难。

我很困惑,在我的任务文件中,我被告知要创建一个控制器、一个模型和两个端点(请求调度和请求离开),每个端点都应该有一些参数。

而对于request-leaving参数,有10个参数,其中6个有这个要求,如(如果请求类型为Request Day Off,则为强制)

上面写了 3 个请求 1. 申请休息日 2. 请求时间表 3. 更改时间表

我是编程的超级新手,有谁知道如何解决这个问题?

public function CreateReqSchedule(Request $request)
{
    $reqschedule = new B777();

    $reqschedule->reqtype = $request->input('reqtype');
    $reqschedule->startdate = $request->input('startdate');
    $reqschedule->enddate = $request->input('enddate');
    $reqschedule->reason = $request->input('reason');
    $reqschedule->route = $request->input('route');
    $reqschedule->actualschedule = $request->input('actualschedule');
    $reqschedule->changetoschedule = $request->input('changetoschedule');
    $reqschedule->swapcrewid = $request->input('swapcrewid');
    $reqschedule->swapcrewschedule = $request->input('swapcrewschedule');
    $reqschedule->note = $request->input('note');

    $reqschedule->save();

    return response()->json($reqschedule);
}

上面的代码是我唯一的工作,我感到很焦虑,因为我自己用谷歌搜索过,但我仍然卡住了。

【问题讨论】:

  • 作为强制手段,我相信这是关于验证。对吗?
  • 因为你使用的是API,那么你需要创建手动验证,所以它会返回一个json响应而不是错误页面,你可以将它包装在if语句中,验证细节在这里阅读@987654321 @
  • Laravel根据请求处理情况,无论是json请求还是html请求。
  • @TharakaDilshan 是的,关于验证。

标签: json laravel api logic form-submit


【解决方案1】:

所以你在谈论验证。您可以像下面这样将 laravel 验证放入其中

使用required验证强制数据并在json中返回响应

// Making validation for fields
$validator = \Validator::make($request->all(), [
    'fields1' => 'required',
    'fields2' => 'required',
    'fields3' => 'required',
]);

if ($validator->fails())
{
    // return response on validaton fails
    return response()->json(['status'=>400,'errors'=>$validator->errors()->all()]);
}
// If validation passes store your data in database

【讨论】:

    猜你喜欢
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 2018-05-14
    • 2014-01-02
    • 1970-01-01
    • 2013-03-25
    • 2022-01-13
    相关资源
    最近更新 更多