zoukankan      html  css  js  c++  java
  • 谁要是敢用Map传参数,我喵喵就打死他

    B站链接https://www.bilibili.com/read/cv5480572

    Map传参数?为什么不能?

    哈哈我指的是Controller层不能用Map传参数,如果在你身边有些人用Map传参数的话,请锤死他。

    有些刚学会Java Servlet的同学或者Springboot的同学可能要问了,为什么不可以呢?老子就是要用Map,Map传参数一直用一直爽,一直爽啊一直爽。

    可能刚学的同学会写这样的代码

    @RestController
    @RequestMapping("/user")
    public class IndexController {
    
        // 获取App首页内容
        @PostMapping("/login")
        public ResponseWrapper getIndexContent( @RequestBody Map<String, Object> paramMap ) {
         
            if (!paramMap.containsKey("username")) {
                return xxx;
            }
    
            if (!paramMap.containsKey("password")) {
                return xxx;
            }
    
        }
    
    }

    这样的代码在Controller层使用Map来接收前端参数是非常不对滴,虽然你用着方便,也不用把参数封装成对象,但是你写完了,当别人要接手你的工作的时候,他就不知道这个接口有什么样的参数,如果你对你公司的同事有仇,我非常建议你这样写,但是写完提交之后要快点跑,他们会拿着键盘过来打你哦。

    第二,现在的很多接口文档框架就不能用,比如Swagger,你要是使用Map,你告诉我怎么用,在现在前后端分离的大趋势下,也不能说是大趋势,已经是定论了,你这么写,Swagger怎么搞,难道一个个手写吗?岂不是类似,要是很多接口有相同的参数,你一个个复制过去吗?那这样前端小姐姐肯定会催死你。

     第三,@NotNull是什么东西?你要是使用Map,你就得一个个参数判断是不是空,我写你妈MB奶奶个腿,如果此时封装成对象之后就可以使用@NotNull一行代码来判断是不是空,或者其他注解什么的,这不是更方便?

    所以总结下来

       1:维护不方便

       2:无法使用接口框架

       3:无法使用@NotNull验证参数

  • 相关阅读:
    2-7.交集选择器
    2-6.并集选择器
    2-5.后代选择器
    python----字符串,反向编码与乱码记录
    python----输出1-100之和的方法
    python----基础之三元运算、文件操作
    python----基础之令人头疼的字符编码
    python----基础之可变、不可变数据类型、collections模块
    python----基础之数据类型(元祖,字典,集合)
    python----基础之变量的创建与id
  • 原文地址:https://www.cnblogs.com/kawayidamiao/p/13843767.html
Copyright © 2011-2022 走看看