2017-07-08 45 views
0

我正在嘗試使用Laravel(我是初學者)創建一個RESTful應用程序。它是一個基於登錄的應用程序,可創建帖子併爲帖子創建評論(只有經過驗證的用戶才能撰寫帖子或發表評論)。我所做的功能來創建後,我和看起來像這樣的捲曲請求,測試它:RESTful API的curl請求的問題 - Laravel 5.4

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

這是工作,一切都很好。我還在api.php中創建了用於登錄/註銷/註冊的路由。我想通過捲曲請求來測試它們。所以我試圖用一些請求來測試它:

$ curl --data "name=test&[email protected]&password=test&password_confirmation=test" http://127.0.0.1:8000/api/register 

而且他們都重定向我登錄。你能告訴我我錯了嗎?

在此先感謝。

+0

將您的「路線」發佈到? –

+0

你能分享你的註冊功能嗎? – apokryfos

+0

@apokryfos'protected function create(array $ data) { return User :: create('name'=> $ data ['name'], 'email'=> $ data ['email'], 'api_token'=> str_random(60), 'password'=> bcrypt($ data ['password']), ]); }' –

回答

0

routes/api.php不使用StartSession中間件,並且由於登錄使用會話,它會始終提示您登錄每個請求。

您有幾種選擇

1)將您的API路由到路線/ web.php 讓你的API使用會話。

這是不是最好的設計然而,隨着API的應該是無狀態遵循良好REST設計原則,但它會解決您的登錄問題。

2)作爲上面提出的評論者,查看Laravel Passport。

這將是首選的方法,特別是如果你打算從多個平臺上使用你的API。