Yii 字段
通过重写 fields() 和 extraFields() 方法,可以定义哪些数据可以放入响应中。这两个方法的区别在于,前者定义了应该包含在响应中的默认字段集,而后者定义了附加字段,如果终端用户通过 expand 查询参数请求它们,则可能包含在响应中。
步骤1 - 修改 MyUser 模型的方法如下。
除了默认的字段:id和name,我们添加了一个自定义字段 – datetime .
步骤2 - 在Postman中运行URL http://localhost:8080/users .
步骤3 − 现在,按照以下方式修改 MyUser 模型。
注意,email字段是通过extraFields()方法返回的。
步骤4 - 要获得带有此字段的数据,请运行 http://localhost:8080/users?expand=email 。
自定义操作
The yii\rest\ActiveController 类提供以下操作:
- Index - 分页列出资源
-
View - 返回指定资源的详细信息
-
Create - 创建一个新的资源
-
Update - 更新一个现有的资源
-
Delete - 删除指定的资源
-
Options - 返回支持的HTTP方法
所有上述操作都在actions方法中声明。
要禁用“delete”和“create”操作,请按以下方式修改 UserController :
处理错误
在获取RESTful API请求时,如果请求出现错误或服务器发生意外情况,您可以简单地抛出异常。如果您可以确定错误的原因,应该抛出异常以及适当的HTTP状态码。Yii REST使用以下状态码:
-
200 - OK。
-
201 -成功响应POST请求中的资源创建。Location头包含指向新创建资源的URL。
-
204 -请求成功处理,响应中不包含内容。
-
304 -资源未修改。
-
400 -错误的请求。
-
401 -身份验证失败。
-
403 -认证用户不允许访问指定的API端点。
-
404 -资源不存在。
-
405 -不允许的方法。
-
415 -不支持的媒体类型。
-
422 -数据验证失败。
-
429 -请求太多。
-
500 -内部服务器错误。