zoukankan      html  css  js  c++  java
  • Spring注解之Controller中获取请求参数及验证使用


    1.处理request的uri部分的参数:@PathVariable.

    2.处理request header部分的参数:@RequestHeader,@CookieValue
    @RequestHeader 注解,可以把Request请求header部分的值绑定到方法的参数上。
    @CookieValue 可以把Request header中关于cookie的值绑定到方法的参数上。

    3.@RequestParam注解用来接收地址中的参数,参数的格式是http://*****?uid=111111&uname=张三。

    4.@RequestBody注解用来接收request的body中的参数,@RequestBody可以将多个参数放入到一个实体类或者Map中。


    5.参数验证@Valid、@Validated
    @Valid是使用hibernate validation的时候使用
    @Validated是只用spring Validator 校验机制使用,@Validated是@Valid 的一次封装,是spring提供的校验机制使用。@Valid不提供分组功能
    @Validated注解可以用一个模型来接收地址栏中的参数,参数的格式是http://*****?uid=111111&uname=张三。

    @GroupSequence注解对组进行排序

    注意:

    a.BindingResult 对象必须在 @Valid 或@Validated 的紧挨着的后面,否则接收不到错误信息。
    b.一个功能方法上处理多个模型对象时,需添加多个验证结果对象
    c.@Valid 递归的对关联对象进行校验, 如果关联对象是个集合或者数组,那么对其中的元素进行递归校验,如果是一个map,则对其中的值部分进行校验.(是否进行递归验证)

    使用场景如:
    spring mvc + @Valid/@Validated + @RequestBody 接收json同时校验javaBean的数据有效性

  • 相关阅读:
    linux(ubuntu) 安装 node.js
    正反向代理
    js正则表达式----replace
    webpack开发小总结
    稳定排序和非稳定排序
    树状数组 --- (离散化+树状数组、求逆序对)
    编程之美初赛第一场 题目3 : 活动中心
    巴什博弈 杭电 1847
    巴什博弈 杭电 1846
    约瑟夫环问题详解
  • 原文地址:https://www.cnblogs.com/gsyun/p/6930620.html
Copyright © 2011-2022 走看看