在Yii 2指南中说:
虽然不是必需的,但建议您将RESTful API开发为单独的应用程序,与Web前端和后端不同,以便于维护.
这是什么意思?这是一个完全不同的应用程序,还是可以与"普通"Web应用程序位于同一文件夹中?我刚开始使用我的应用程序,所以我可以或多或少地轻松改变.但我想知道:如果我要创建另一个应用程序而不是我的业务逻辑将无法访问.
为什么以及如何创建另一个应用程序?什么时候不需要?
Cha*_*nka 14
这意味着你必须创建一个像前端或后端(Yii 2高级应用程序模板)的应用程序,你要做的是创建另一个目录调用'api'与后端或前端相同,它将包含与后端相同的文件夹结构.前端除了资产,视图,小部件等.
基本上你需要像这样的文件夹结构
api
-config
-modules
--v1
---controllers
---models
-runtime
-tests
-web
backend
common
console
environments
frontend
Run Code Online (Sandbox Code Playgroud)
如果您打算使用Yii 2基本应用程序模板来开发rest api,那么它是可行的.创建模块调用'api'并创建子目录调用'v1'作为子模块. (Yii doc -A模块可能包含子模块.)(GiovanniDerks - 后端子模块)
-modules
--api
---v1
----controllers
----models
Run Code Online (Sandbox Code Playgroud)
使用其中一个文件夹结构有一个优点,因为您不必担心路由太多.
https://domain.com/api/v1/products
Run Code Online (Sandbox Code Playgroud)
以下是使用高级模板的RESTful API的一个很好的示例
在Yii2中设置RESTful API(budiirawan)
API和RESTFull API不同.RESTFull API必须具有REST标准.基本上这就是API作为单独的应用程序开发的原因.在普通应用程序中,我们为CRUD函数创建了4个动作.但在yii2 RESTFull API中,我们只为所有CRUD函数创建一个动作.(控制器从REST Active Controller扩展 - yii\rest\ActiveController).在核心代码中,您可以找到针对不同标头的4个操作GET,POST,PUT&DELETE.
'index' => ['GET', 'HEAD'],
'view' => ['GET', 'HEAD'],
'create' => ['POST'],
'update' => ['PUT', 'PATCH'],
'delete' => ['DELETE'],
Run Code Online (Sandbox Code Playgroud)
对于身份验证基本上我们可以使用'HTTP基本认证'
| 归档时间: |
|
| 查看次数: |
8742 次 |
| 最近记录: |