zoukankan      html  css  js  c++  java
  • Customize Spring @RequestParam Deserialization for Maps and/or Nested Objects

    @RestController
    class MyController {
         @RequestMapping(...)
         public void test(Container container) { ... }
    }
    

    Spring by default uses Dot-Notation to deserialize a nested @RequestParam:

    class Container {
        A a;
    }
    
    class A {
        String val;
    }
    

    works with:

    http://.../myController?a.val=foo
    

    But for Maps it uses Square Bracket notation:

    class Container {
        Map<String, String> a;
    }
    

    works with:

    http://.../myController?a[val]=foo
    

    When using JavaScript there's of course no difference between a HashMap and a Nested Object, so everything will get serialized either with Dots or Square-Brackets.


    Question:

    How / where can I tell Spring (or Spring Boot if that's easier) to use Dot-Notation (or Square Brackets) for both, nested objects and Maps?

    Or is there any reason why Spring makes a difference between those types?

  • 相关阅读:
    如何设置路由器实现静态IP配置
    linux内核源码结构
    linux源码“.config”文件分析
    用python来调试网络程序
    dbm速算
    用python虚拟串口
    sed学习笔记
    贴一段shell代码
    ethtool使用记录
    mint锁屏设置
  • 原文地址:https://www.cnblogs.com/duyinqiang/p/5696465.html
Copyright © 2011-2022 走看看