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的数据有效性

  • 相关阅读:
    在mac上如何用safari浏览器调试ios手机的移动端页面
    VSCode 入门
    Redux和Context对比
    七种CSS左侧固定,右侧自适应两栏布局
    componentWillMount VS componentDidMount
    react-native IOS TextInput长按提示显示为中文(select | selectall -> 选择 | 全选)
    MySQL调优5---查询优化
    MySQL调优4---索引
    MySQL官网下载案例数据库
    MySQL调优3---执行计划
  • 原文地址:https://www.cnblogs.com/gsyun/p/6930620.html
Copyright © 2011-2022 走看看