Php 用json输出替换注册后的重定向

Php 用json输出替换注册后的重定向,php,json,authentication,laravel,laravel-5,Php,Json,Authentication,Laravel,Laravel 5,在Laravel5中,我使用默认注册方法为api创建用户。成功注册后的默认行为是重定向到“/主页” curl--data@formdata-khttps://foo.bar.com/auth/register 重定向到https://foo.bar.com/home 重定向到。 我想返回JSON信息,而不是重定向,例如 { "Message" : "Success" } 目前我不知道在哪里我必须配置它。我试图在Register方法中返回它。但这并没有改变这种行为 app/Services/r

在Laravel5中,我使用默认注册方法为api创建用户。成功注册后的默认行为是重定向到“/主页”

curl--data@formdata-khttps://foo.bar.com/auth/register
重定向到https://foo.bar.com/home
重定向到。
我想返回JSON信息,而不是重定向,例如

{ "Message" : "Success" }
目前我不知道在哪里我必须配置它。我试图在Register方法中返回它。但这并没有改变这种行为

app/Services/registrator.php
类注册器执行注册器合同{
// ...
/**
*在有效注册后创建新用户实例。
*
*@param数组$data
*@返回用户
*/
公共函数创建(数组$data)
{
返回用户::创建([
'name'=>$data['name'],
'email'=>$data['email'],
// ... 
]);
返回[“消息”=>“成功];
}
}
此外,我还发现了许多更改重定向路径的信息,但没有找到如何更改返回输出的信息


成功注册后如何返回json信息,而不是重定向?

只需覆盖
AuthController
中的
postRegister()
方法即可:

公共函数后寄存器(请求$Request)
{
$validator=$this->register->validator($request->all());
如果($validator->fails()){
返回视图('auth/register')->withErrors($validator->errors());
}
Auth::login($this->create($request->all());
return response()->json([“Message”=>“Success”]);
}

是否有理由将其命名为
postSignup()
?然后我必须以某种方式将其集成到默认注册过程中。我不知道如何集成。当我将其更改为
postsregister()
以覆盖它时,它将在
视图('auth/signup')中遇到if条件
不存在。复制粘贴错误,抱歉:)修改了我的答案,看一看。在你的代码中,用户的创建丢失了。我添加了
$this->registrator->create(\Input::all());
在return语句上方的一行,用户将被创建。不幸的是,我现在收到的错误消息是HTML(不是JSON)当出现问题时。例如,如果我两次发布相同的请求…@jerik你是对的,我的错误:)请查看更新的答案。如果有帮助,你可以接受我的答案供其他读者阅读:)