通常为了节省服务器资源,需要在客户端提交参数时做相应的验证工作。比如必填参数、参数范围等。
1 设置场景:类继承自model来设置const常量:
const SCENARIO_ADD = 'add';
2 设置场景对应的验证规则:
public function rules()
{
['store_no', 'check_store_no', 'on' => [
self::SCENARIO_ADD,
Store::SCENARIO_ALTER_BASIC_INFO,
]],
}
3 加载请求参数到model:
$model->load(\Yii::$app->request->post(),'');
4 判读请求参数合法性:
if(!$model->validate()){
return RestStatus::buildRestErrRes(401, $model->getErrors());
}
5 寄存请求参数,执行对应的db逻辑:CRUD
6 查找接口已list返回,其余增、改、删接口均需要做捕获异常处理
来源:oschina
链接:https://my.oschina.net/u/4396805/blog/4471009