我只是从Laravel开始,所以有可能我没有阅读过一些文档,这些文档强调了这种可能性,但这是必要条件。
我有一个网站,我们称它为https://www.foo.com
,向其访问者提供HTML。
https://api.foo.com
的子域应该提供RESTful API。
我在GoDaddy托管上,如果创建了子域,则文件结构将如下所示:
root/
├── website_code/ <- https://www.foo.com
├── ...
├──
├── api/ <- https://api.foo.com
│ ├── ...
│ ├──
│ └── ...
└── ...
两者都将访问相同的数据库,并且将提供相同的信息,只是它们的格式将不同。该API不需要视图,而HTML版本则将获取的值注入视图中。
使用Laravel实现这一目标的最佳方法是什么,请牢记:
我应该在每个文件夹下运行两个不同的Laravel实例吗?
还是应该使用类似acceptsJSON()
的方法来确定Accept:
标头是否已设置为JSON,并将其视为API请求。
对于SEO来说,维护api.foo.com
很重要,但是如果没有简便的方法,我也可以看看https://www.foo.com/api/
格式。
请提出建议。
答案 0 :(得分:1)
这完全取决于您的需要。我希望有两个项目。假设将来您的网站需要成为一个页面应用程序,那么您必须有两个不同的项目。我在类似的情况下工作,其中Listener
and Client
interfaces
是基于vue.js构建的单页应用程序,我们使用Sheba.xyz
所有与数据相关的作品。再说一遍,这完全取决于您的需要。您需要考虑当前和将来的所有需求,并考虑哪种方法更适合您。