带邮递员的PUT/PATCH请求在Laravel中返回状态码0

ses*_*360 10 php laravel postman

我编写了一些REST API方法,包括一个用于更新数据库条目的方法:

// Update
public function update(CreateAEDRequest $request, $id) {
    $aed = AED::find($id);

    if(!$aed) {
        return response()->json(['message' => "Dieser AED exisitiert nicht", 'code' => 404], 404);
    }

    $owner = $request->get('owner');
    $street = $request->get('street');

    $aed->owner = $owner;
    $street->street = $street;

    $aed->save();

    return response()->json(['message' => 'Der AED wurde aktualisiert'], 200);
}
Run Code Online (Sandbox Code Playgroud)

路线定义为:

    Route::put('/aeds/{aeds}', 'APIAEDController@update');
    Route::patch('/aeds/{aeds}', 'APIAEDController@update');
Run Code Online (Sandbox Code Playgroud)

正在处理请求:

<?php

namespace App\Http\Requests;

use App\Http\Requests\Request;
use Illuminate\Http\JsonResponse;

class CreateAEDRequest extends Request
{
    public function authorize()
    {
        // turn back to false when doing auth
        return true;
    }

    public function rules()
    {
        return [
            'owner'  => 'required',
            'street' => 'required'
        ];
    }

}
Run Code Online (Sandbox Code Playgroud)

但是,当我使用邮递员并尝试更新现有的数据库条目,并按要求填写要在POSTMAN中发送的所有者和街道变量时,我收到消息:"无法获得任何响应.返回状态代码0"

在此输入图像描述

所有其他方法都可以正常工作.我的路由定义不正确吗?

更新 当我发送数据时x-www-form-urlencoded它正常工作!当我将它们作为表单数据发送时,它会显示错误消息.

Ole*_*aev 12

看起来像Postman你应该指出你发送的数据是x-www-url-formurlencoded.

在此输入图像描述


小智 5

Postman

  1. 将方法更改为 POST
  2. 添加_method具有值的新变量PUTPATCH