Brief:
实际上,使用Laravel api路由文件时我有点困惑 .
Question:
如果我需要访问使用laravel创建的其他平台( like android app )中我的网站的数据,那么我应该在 api.php
文件中创建不同的路由吗?
如果是,那么我将为每个请求声明两个路由和控制器,首先在 web.php
中,第二个在 api.php
中 . 这是对的吗?
基本上,我想问一下如何制作API,以便我可以访问网站以及其他平台的数据?
我正在寻找一个很好的教程,但我没有一个好的教程 .
3 回答
理想情况下,API路由和Web路由应该完全不同,但如果您希望它相同,那么您可以仅在 web.php 中添加路由,而不是在不同的文件中定义路由,并在客户端和控制器中添加特殊参数参数然后返回JSON对象或者返回视图 .
例如 .
web.php
UserController.php
请求正常请求
API请求
我希望有帮助......
在
api.php
中编写api路由,在web.php
中写入Web路由 .Api路由在路由中始终具有名称
api
,因此您可以区分路由 . 我在这里提到,因为@Akshay Khale提到了查询参数的示例 .如果你想为API和Web使用相同的控制器,Api请求总是在你的控制器中有Header
Content-Type : Json
和"Accept":"application/json"
,你可以这样做 .对于laravel 5.6及以上,上述答案对我不起作用,所以这是我的2美分 .
我已将路线放在
web.php
和api.php
中,并且没有任何魔术技巧 .它将返回json输出
和html中的普通视图