簡體   English   中英

如何使用具有相同控制器的Laravel制作網站和API REST?

[英]How to make a Website and API REST with Laravel with the same Controllers?

我真的是Laravel Framework的新手,我想開發一個也有自己的API Rest的Web應用程序,但是我不知道哪種方法是最好的。

我希望對於Web操作和API REST操作,例如對於用戶模塊,如果我發出這樣的請求,則Controllers和methodos可以相同:

http://myproject.com/userRegister/

然后網絡向我顯示了具有用戶注冊表單的視圖HTML,但是如果我這樣調用請求:

http://myproject.com/api/userRegister/

然后,響應將是一個JSON,其中包含我注冊用戶所需的Form數據。

我希望它們都使用UserRegisterController和相同的方法,例如:“ formRegister”,所有這些都是為了避免在不同方法中重復業務邏輯。

是否知道最佳方法是什么? 我研究了一下,有人建議使用JSON響應來制作所有服務,並使用AngularJS或類似的語言進行解析,但是我不想這么做,我只想將Laravel與HTML一起使用。

讓相同的控制器處理api和Web請求不是最佳決定。 這種邏輯遲早會導致代碼混亂。

不要忘記使控制器盡可能的薄,並將大多數邏輯移至模型,服務和存儲庫。 這將幫助您擁有兩個獨立的控制器版本,這些版本的代碼應盡可能少。

但是,如果仍要合並它們,則可以使用\\Request::acceptsJson() \\Request::acceptsHtml()方法來確定您擁有的請求類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM