簡體   English   中英

Laravel:將REST控制器與普通控制器和視圖結合在一起嗎?

[英]Laravel: Combine REST-Controllers with normal controllers and views?

我想創建一個新的應用程序,為此,我選擇了laravel。 所以我也是Laravel的新手。

我想從一開始就為瀏覽器插件或移動應用程序集成API。 當然,我不想使其成為僅API的應用。 我仍然需要正常的視圖和控制器來處理此問題。 現在,我對正確的結構有些困惑。 當它是API請求時,它應該將數據輸出為JSON,否則作為普通視圖輸出。

實現這一目標的最佳方法是什么? 所有教程均基於僅API應用程序,但對我無濟於事。

制作UserController.php和ApiUserController.php是一個好習慣嗎? 還是UserController.php和子文件夾結構(如API / v1.0 / UserController.php)? 我不會經常用這種結構重復一遍嗎? 我的意思是,通常唯一的變化就是輸出,不是嗎?

提前致謝!

您的API應該在API路由上提供,這些路由可以與其他用戶的資源位於同一控制器中,但實際上並非必須如此。

我喜歡將ApiController與所有API函數一起使用。 這樣,您可以實現“ showUsers”之類的東西,並使其返回User :: all()或User :: paginate(50)。 如果您直接在Laravel中返回模型,則默認情況下它將以JSON輸出,這非常方便。

現在,為了獲得一些真正的API優勢,我喜歡將dingo的API包與artdarek的Laravel OAuth 2包裝器結合使用。 它提供了具有許多功能的真正高質量的安全API,例如速率限制和范圍以及所有很酷的東西。

您確實不想為API使用RESTful控制器,因為您可能希望使用其他名稱的終結點。 我想將所有用戶都保留為api / users,但將單個用戶保留為user / USER。 這就是我的偏愛,我認為我的API應該是完全可定制和可路由的。

暫無
暫無

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

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