通过API理解400个错误请求


Understanding a 400 bad request with API

我最初认为我的代码中可能存在错误,但我已经做了进一步的测试,在那里我得到了奇怪的行为,我希望发现原因。我有一个简单的API路由

Route::group(['prefix' => 'api/v1'], function () {
    Route::post('createProject', ['uses' => 'ProjectAPIController@createProject']);
});

调用一个简单返回成功消息的函数

public function createProject(Request $request)
{
    return response()->json(["Success", 200]);
}

我使用这个API构建的应用程序得到了一个糟糕的请求响应,所以我转向了Postman。

现在在Postman中,如果我对这个路由做一个Post请求,并且我通过body传递JSON,我仍然看到错误的请求。但是,如果将JSON设置更改为文本,则会看到Success响应。因此,我发现API由于某种原因不再喜欢JSON被发送给它。

发生这种情况有什么原因吗?

谢谢

你没有正确格式化JSON:

public function createProject(Request $request)
{
    return response()->json(["Success", 200]);
}

响应应该是这样的格式:

(data,statusCode)

所以,上面的响应应该这样写:
return response()->json(["Success" => true],200);

传递给json方法第一个参数的数据是关联数组,然后在第二个参数中我们传递状态码。