当前位置: 首页 > news >正文

做体育类网站素材广东网站建设公司排名

做体育类网站素材,广东网站建设公司排名,织金网站建设,个人网站如何做淘客网站Controller 注解 /*** 表示路由最基础的前缀#xff0c;此处为 /#xff0c;RequestMapping 中引入的 prefix 就是此处的 prefix 值* Controller(/)* Controller(prefix/)* * 可以不用写 /#xff0c; 会自动加上#xff0c;表示 /user 前缀的路由…Controller 注解 /*** 表示路由最基础的前缀此处为 /RequestMapping 中引入的 prefix 就是此处的 prefix 值* Controller(/)* Controller(prefix/)* * 可以不用写 / 会自动加上表示 /user 前缀的路由* Controller(user)*/路由设置 RequestMapping 注解用来获取用户自定义的 http 路由规则。 route字符串类型 配置路由的路径可以加入中括号括起来的部分表示可选路由可有可无自定义参数用花括号中间写名字的形式来书写例prefix_index[-{page}], prefix 表示 Controller 注解中的 prefix 值。 name字符串 路由名称 method数组类型 决定被请求控制器的操作允许哪种请求方式 POST/GET或者两者都配置上 params 配置参数的匹配规则以此来确定路由是否能够匹配。以上方 page 为例: params{page\d} 完整示例 /*** 此规则表示有一个 en_name 的参数且此参数必须匹配正则 [A-Za-z0-9\-\_] 此调路由才能匹配* RequestMapping(route{en_name}/, params{en_name[A-Za-z0-9\-\_]}, method{GET})* 此规则表示为 / 或者 /index.html 或者 /list-12.html 这种形式* RequestMapping(route/[list-{page}.html|index.html], params{page[2-9]\d*|1\d}, method{GET})*/参数传递 getParsedBody 如果请求 body 中有参数且方法校验规则 Validate 标签 type 不设置默认为 body或者设置为 body则校验规则会校验 body 中的参数通过 getParsedBody 方法获取到的为校验规则校验且修改比如默认值之后的参数的值。 getParsedQuery 如果请求 query 中有参数且方法校验规则 Validate 注解 type 设置为 get则校验规则会校验 query 中的参数。通过 getParsedQuery 方法获取到的为校验器校验且修改之后的参数值。 getParsedPath 如果路由参数路径中参数有传值且方法校验规则 Validate 注解设置 type 为 path则校验规则会校验path 中的参数。通过此方法获取到的为校验器校验且修改之后的参数值。 注意如果没有添加校验器则获取值为null详见 ValidatorMiddleware::class。必须有合法校验器才有可能通过以上方法获取到值。 getParsedBodygetBody getParsedQuerygetQueryParams getParsedPathgetQueryParams GET 请求不能通过body 获取参数如果使用body校验器校验不到相应的参数getParsedBody 会直接返回设置的默认值如有有的话。 使用 // 通过三个方法均可获得用户传递的参数 $request-getParsedBody(); // 获取单个校验过的数据 $page $request-parsedBody(page); $size $request-parsedBody(size); // 获取 GET 请求中的所有经过校验的参数数据 $query $request-getParsedQuery(); // 获取路由参数经过校验器的值 $request-getParsedPath();/*** 获取内容并且校验 query 中的参数值* RequestMapping(list, methodGET)* Validate(validatorPageListDto::class, fields{page, size}, typequery)** param Request $request* param Response $response* return Response* throws ApiException*/校验器源码解析 所有的校验触发均是通过 http-server 组件中的 httpDispatcher分发器中设置的 middlewares 来触发的负责校验的中间件为 ValidatorMiddleware::class。 注意分发器中设置的 middlewares 为全局分发器即所有请求都会触发此处配置的中间件如果有选择的配置中间件可以使用 Middlewares 或者 Middleware注解用来标注具体的类或者方法只有被标注的对象在请求时候才会触发此中间件。具体解析请查看中间件的优先级介绍。 /*** param array $body* param array $validates* param array $query* param array $path** return array* throws ValidatorException*/ public function validateRequest(array $body, array $validates, array $query [], array $path []): array {// 循环遍历当前控制器方法上注解的校验规则foreach ($validates as $name $validate) {$validator ValidatorRegister::getValidator($name);if (empty($validator)) {throw new ValidatorException(sprintf(Validator(%s) is not exist!, $name));}// 获取当前校验器类型是系统校验器还是自定义校验器$type $validator[type];$fields $validate[fields] ?? [];$unfields $validate[unfields] ?? [];$params $validate[params] ?? [];// 获取当前校验规则的类型校验get、body、还是path$validateType $validate[type];// 如果校验器类型指定为get则只校验匹配的get类型参数// Get query paramsif ($validateType ValidateType::GET) {$query $this-doValidate($query, $type, $name, $params, $validator, $fields, $unfields);continue;}// 如果校验器类型指定为path则只校验路由的path参数// Route path paramsif ($validateType ValidateType::PATH) {$path $this-doValidate($path, $type, $name, $params, $validator, $fields, $unfields);continue;}// 如果未指定默认校验body参数$body $this-doValidate($body, $type, $name, $params, $validator, $fields, $unfields);}return [$body, $query, $path]; }另外对于比较复杂的校验比如数组内部元素的一些具体校验规则默认是没有提供的可以通过自定义的校验规则来完成类似的校验。或者直接通过 validate 全局函数来动态进行校验。 // 此函数通过校验 validator 单例对象来触发校验 function validate(array $data,string $validatorName,array $fields [],array $userValidators [],array $unfields [] ): array {/* var Validator $validator */$validator BeanFactory::getBean(validator);return $validator-validate($data, $validatorName, $fields, $userValidators, $unfields); }
http://www.w-s-a.com/news/384591/

相关文章:

  • wordpress模板建站教程wordpress添加广告位手机自适应
  • h5游戏平台入口优化是什么梗
  • 建设银行对公网站打不开网络推广活动方案主题和思路
  • 茶叶网站开发目的和意义网页设计需要考什么证
  • 高端企业网站建设公司怎么做实用性建设网站都需要哪些
  • 网站备案必须要幕布吗易企秀网站怎么做轮播图
  • 南昌网站排名优化四线城市网站建设方向及营利点
  • 做网站需要钱吗unity 做网站
  • 呼伦贝尔市规划建设局网站wordpress怎么考别人的
  • 免备案自助建站网站成都神速建站
  • 怎样编写app软件快速刷排名seo软件
  • 江苏做家纺的公司网站宣传型企业网站
  • 网站网上商城建设外国一些做环保袋的网站
  • 做空气开关那个网站推广比较好建站技术有哪些
  • 做网站前需要做什么准备wordpress图片云储存
  • 查楼盘剩余房源的网站地方网站推广
  • 农家乐网站建设方案创意平面设计公司简介
  • 信息化建设 网站作用网络营销的形式网站营销
  • 沈阳出名网站潍坊正规建设网站
  • 计算机软件开发需要学什么沈阳网站关键字优化
  • 关于军队建设网站国内最好的wordpress主题
  • 小视频网站如何建设陪诊app开发
  • 英文网站首页优化国外手机网站源码
  • 网站建设公司如何找客户网站建设应该考虑哪些问题
  • 创新的江苏网站建设wordpress用户绑定手机
  • 自己做网赌网站网站设计者
  • 教育培训网站设计辽宁招标工程信息网
  • 韶关网站推广做网站要哪些人员
  • 建设银行网站链接开发公司与物业公司交接清单
  • 网站定位广告企业建网站有这个必要吗