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

时间:2015-06-11 08:24:51

标签: 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);
}

路线定义为:

    Route::put('/aeds/{aeds}', 'APIAEDController@update');
    Route::patch('/aeds/{aeds}', 'APIAEDController@update');

正在处理请求:

<?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'
        ];
    }

}

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

enter image description here

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

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

2 个答案:

答案 0 :(得分:11)

在邮递员看来,你应该指出你发送的数据是x-www-url-formurlencoded

enter image description here

答案 1 :(得分:2)

Postman

  1. 将方法更改为POST
  2. 添加值为_methodPUT
  3. 的新变量PATCH