我正在尝试使用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
他们都重定向我登录。你能告诉我我哪里错了吗?
提前致谢。
答案 0 :(得分:0)
routes / api.php 不使用StartSession中间件,并且由于登录使用会话,它将始终提示您登录每个请求。
您有几个选择
1)将您的API路线移至 routes / web.php 所以你的API使用会话。
这不是最好的设计,但因为API应该是无状态的 ,以遵循良好的REST设计原则,但它将解决您的登录问题。
2)将Laravel Passport视为上述建议的评论者。
这是首选方法,特别是如果您计划从多个平台使用API。