当前位置:   article > 正文

springboot swagger2 post请求map/json参数 和 map/json返回 自定义map注解实现 附源码_swagger 自定义map,json请求注释

swagger 自定义map,json请求注释

注意:
下面介绍的方法,我在本地idea运行没有问题,打包也能成功,但是上线到云服务器运行会启动失败报错:

org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is com.google.common.util.concurrent.ExecutionError: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: Lcom/example/swagger2_demo/bean/User;
  • 1

暂时未解决这个问题,如要使用请自行打包运行验证考虑是否使用!

参考文章

https://blog.csdn.net/q873297050/article/details/87895145

springboot swagger2 post请求map/json参数 和 map/json返回 自定义map注解实现

注意:

  • 只支持post请求,如需其他get update delete请求方法用swagger2原生的注解。
    如果不是post请求用到这个自定义map注解,会报错,如下
Failed to start bean 'documentationPluginsBootstrapper'; 
nested exception is com.google.common.util.concurrent.ExecutionError: 
java.lang.LinkageError: loader (instance of  com/example/swagger2_demo/config/swagger2/params/MapApiReader): 
attempted  duplicate class definition for name: "Class_xxx_HparamsJson"
  • 1
  • 2
  • 3
  • 4
  • web controller 类要有注解 @RequestMapping 和 @RestController ,原因在MyBeanPostProcessor类中有用到,看代码就知道了。
  • 集成到自己项目中,需要改 Swagger2 、SwaggerMapContext 和 SwaggerRetMapContext中的package 路径,不然扫描不到。
  • ApiJsonProperty 和 ApiReturnJsonPro 的key 值要小写开头,如果大写开头,会生成2个字段,如key为Account ,那么会生成 Account 和 account

废话不多说,上源码:
链接:https://pan.baidu.com/s/1MAZE0C4pfhFc_ViPBqmodw
提取码:p43q

运行后 浏览器输入 http://localhost:8095/swagger-ui.html 打开在线文档

test2接口 post参数和返回的map注解 如下图:
在这里插入图片描述
生成的在线文档如下:
在这里插入图片描述

注意:mvn打包需要注意本地jdk安装的rt.jar 包路径,我提供的代码中rt.jar路径是基于我当前安装的jdk路径,读者需要对比自己的jdk路径做修改

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/897757
推荐阅读
相关标签
  

闽ICP备14008679号