zoukankan      html  css  js  c++  java
  • SpringMVC 数组类型的参数: Cannot generate variable name for non-typed Collection parameter type

    我只想安静的传个数组类型的参数, 为什么各种报错...

        @DeleteMapping("del")
        @ApiOperation(value = "删除")
        public Integer deleteMan(@RequestBody List idList) {
      ...

    不行, 报错:

    Cannot generate variable name for non-typed Collection parameter type

    改吧:

        @DeleteMapping("del")
        @ApiOperation(value = "删除")
        public Integer deleteMan(@RequestBody ArrayList idList) {
      ...

    不行, 这回不报错了,  但是连参数都传递不了,  idList 永远值是空的,,  改成 ArrayList<String> 也是不行的

    改吧

        @DeleteMapping("del")
        @ApiOperation(value = "删除")
        public Integer deleteMan(@RequestBody String[] idList) {
      ...

    还是不行, 再改:

        @DeleteMapping("del")
        @ApiOperation(value = "删除")
        public Integer deleteMan(String[] idList) {
      ...

    这回倒是可以了, 但是, 传参格式不是原来那样的...  期望是["aa", "bb"] , 但现在必须是 aa, bb,  而且 aa/bb 不能有引号, 否则就奇怪了.

    百度看看, 一堆这样的,  似乎没有我的答案, 大家都没遇见过??

    bing 的结果也差不多...

    随便看看吧: 

    http://www.docjar.com/html/api/org/springframework/core/Conventions.java.html 

    https://blog.csdn.net/z69183787/article/details/52817479?locationNum=7&fps=1

    ...

    好像确实是 后端报错了: 在 Conventions.java 的这个 地方

    1. if (valueClass == null) {  
    2.                 throw new IllegalArgumentException(  
    3.                         "Cannot generate variable name for non-typed Collection parameter type");  

    改吧: 

        @DeleteMapping("del")
        @ApiOperation(value = "删除")
        public Integer deleteMan(@RequestBody List<String> idList) {
      ...

    这回可以了... 恍然大悟.

  • 相关阅读:
    excel中如何筛选出同一列有重复的数据
    JTextFile换行
    DOM事件对象用法
    js事件监听
    webstorm 破解方法
    vux使用
    vue动态添加当前事件下的class
    subline3 如何设置es6高亮
    vueJS+ES6开发移动端APP实战项目笔记
    css命名规范和书写规范
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/9299952.html
Copyright © 2011-2022 走看看