Php RESTful API的curl请求问题-Laravel 5.4

Php RESTful API的curl请求问题-Laravel 5.4,php,laravel,curl,laravel-5.3,laravel-5.4,Php,Laravel,Curl,Laravel 5.3,Laravel 5.4,我正在尝试使用Laravel创建一个RESTful应用程序(我是初学者)。这是一个基于登录的应用程序,可以创建帖子和对帖子的评论(只有经过身份验证的用户才能编写帖子或评论)。我创建了创建post的功能,并使用如下所示的curl请求对其进行了测试: $ curl --data "title=test&body=test" http://127.0.0.1:8000/api/post?api_token=dLE6IofaGHmG1CWU6b6jWUE9h4161G8FJ3719CjZkTRb

我正在尝试使用Laravel创建一个RESTful应用程序(我是初学者)。这是一个基于登录的应用程序,可以创建帖子和对帖子的评论(只有经过身份验证的用户才能编写帖子或评论)。我创建了创建post的功能,并使用如下所示的curl请求对其进行了测试:

$ curl --data "title=test&body=test" http://127.0.0.1:8000/api/post?api_token=dLE6IofaGHmG1CWU6b6jWUE9h4161G8FJ3719CjZkTRbkH4orIvT5aGGNhWt
它正在工作,一切都很好。我还在api.php中创建了用于登录/注销/注册的路由。我想通过curl请求来测试它们。因此,我尝试通过以下请求对其进行测试:

$ curl --data "name=test&email=test@gmail.com&password=test&password_confirmation=test" http://127.0.0.1:8000/api/register
他们都让我重新登录。你能告诉我哪里错了吗


提前感谢。

路由/api.php不使用StartSession中间件,由于登录使用会话,因此每次请求时都会提示您登录

你有几个选择

1) 将API路由移动到路由/web.php 因此,您的API使用会话

这不是最好的设计,因为API应该是无状态的以遵循良好的REST设计原则,但它将解决您的登录问题

2) 正如上面的评论员所建议的那样,调查拉威尔护照


这将是首选方法,尤其是如果您计划从多个平台使用API

将您的
路由发布到?您也可以共享您的注册函数吗?@apokryfos
受保护函数create(array$data){return User::create(['name'=>$data['name'],'email'=>$data['email'],'api_token'=>stru random(60),'password'=>bcrypt($data['password'])),]);}
@elistavrancheva你能用这个更新这个问题吗?这也是create方法,之后会发生什么?@apokryfos一般来说,身份验证是框架附带的内置功能。我刚刚启用了它。除了添加用于创建随机api_令牌的行之外,我没有编写任何代码。如果您使用提供的接口,它通常可以工作,但是我想在命令行中测试它。但是在注册之后,用户就登录了。