Laravel 8: 当调用POST/PUT方法时发生302重定向

4 浏览
0 Comments

Laravel 8: 当调用POST/PUT方法时发生302重定向

我最近安装了Laravel 8,并设置了我的API资源。\n但是当我尝试创建/更新记录时,它会将我重定向到首页,并返回302状态码...\n

    \n

  • 这是我的api.php文件:
  • \n

\n

    Route::apiResource('addresses', AddressController::class);

\n

    \n

  • 在我的AddressController.php文件中,我的store方法如下:
  • \n

\n

    public function store(CreateAddressRequest $request)
    {
        return response()->json(Address::create($request->validated()));
    }

\n请帮助(理解),谢谢。

0
0 Comments

问题的原因是在使用store()方法创建时,使用了CreateAddressRequest类对输入进行验证。当验证失败时,它会重定向到上一个页面,如果没有上一个页面,则会重定向到主页。对于API来说,这种行为是不可取的,因为你希望返回错误信息(以JSON格式)而不是重定向。

以下是使用验证器返回错误的示例:REST API in Laravel when validating the request

非常感谢!正如你所说,我忘记设置头部(accept: application/json)。

0
0 Comments

在Laravel 8中,当调用POST或PUT方法时出现了302重定向的问题。问题的原因是未设置正确的请求头。解决方法是在Postman中设置请求头为"Accept: application/json"。

代码示例:

// 设置请求头
Accept: application/json

通过设置正确的请求头,即可解决302重定向的问题。

0