RESTful API的curl请求问题 - Laravel 5.4

时间:2017-07-08 07:54:37

标签: php laravel curl laravel-5.3 laravel-5.4

我正在尝试使用Laravel创建一个RESTful应用程序(我是初学者)。它是一个基于登录的应用程序,可以创建帖子并为帖子创建评论。(只有经过身份验证的用户才能撰写帖子或评论)。我创建了帖子的功能,我用curl请求测试了它,看起来像这样:

$ curl --data "title=test&body=test" http://127.0.0.1:8000/api/post?api_token=dLE6IofaGHmG1CWU6b6jWUE9h4161G8FJ3719CjZkTRbkH4orIvT5aGGNhWt

它正在工作,一切都很好。我还在api.php中创建了login / logout / register的路由。我想通过curl请求测试它们。所以我试图用一些请求测试它,如:

$ curl --data "name=test&email=test@gmail.com&password=test&password_confirmation=test" http://127.0.0.1:8000/api/register

他们都重定向我登录。你能告诉我我哪里错了吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

routes / api.php 不使用StartSession中间件,并且由于登录使用会话,它将始终提示您登录每个请求。

您有几个选择

1)将您的API路线移至 routes / web.php 所以你的API使用会话。

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

2)将Laravel Passport视为上述建议的评论者。

这是首选方法,特别是如果您计划从多个平台使用API​​。