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

  • 相关阅读:
    Python并行编程(七):线程同步之事件
    Python并行编程(六):线程同步之条件
    Python并行编程(五):线程同步之信号量
    Python并行编程(四):线程同步之RLock
    Python并行编程(三):线程同步之Lock
    UML关系总结——画uml图、流程图、软件结构图、类图、顺序图的方法
    2020,你好!
    字符串和多维数组
    排序算法
    查找技术
  • 原文地址:https://www.cnblogs.com/gsyun/p/6930620.html
Copyright © 2020-2023  润新知