Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用API理解400错误请求_Php_Json_Api_Laravel - Fatal编程技术网

Php 用API理解400错误请求

Php 用API理解400错误请求,php,json,api,laravel,Php,Json,Api,Laravel,我最初认为我的代码中可能有错误,但我已经做了进一步的测试,发现了奇怪的行为,我希望找到原因。所以我有一个简单的API路由 Route::group(['prefix' => 'api/v1'], function () { Route::post('createProject', ['uses' => 'ProjectAPIController@createProject']); }); 这将调用一个只返回成功消息的函数 public function createProj

我最初认为我的代码中可能有错误,但我已经做了进一步的测试,发现了奇怪的行为,我希望找到原因。所以我有一个简单的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请求,并通过主体传递JSON,我仍然会看到错误的请求。但是,如果我将JSON设置更改为text,就会看到成功响应。因此,我发现由于某种原因,API不再喜欢向其发送JSON

这有什么原因吗


谢谢你没有正确格式化JSON:

public function createProject(Request $request)
{
    return response()->json(["Success", 200]);
}
响应应采用以下格式:

(数据、状态码)

所以,上面的回复应该这样写:

return response()->json(["Success" => true],200);

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

谢谢,有什么原因API不喜欢我传递的json吗?为此,我必须查看API调用返回的详细响应。你能发布它吗?嗨,我已经检查了我的日志,我看到ModSecurity:JSON支持不是enabledRight,这就解释了它。那么您的请求现在可以正常工作了吗?不,试图找出错误的含义,认为它与服务器相关