【swagger配置输入参数忽略某些字段】 使用springfox生成swagger.json文件,然后导入yapi,进行展示;当使用的request和response有共用的模型字段时,一般是输入的字段会少一些,而输出的模型信息字段会更多。比如:以用户管理为例,定义了如下结构/*** swagger 用户测试方法*/@Anonymous@Api("用户信息管理")@ApiOperation("获取用户列表")@ApiOperation("新增用户")
【springboot异常处理】 1,Java Servlet规范异常处理触发异常2,tomcat 异常处理实现tomcat请求处理流程异常发生时核心处理类3,springmvc 异常定制以及扩展请求处理流程使用@ControllerAdvice & @ExceptionHandler 配置全局异常处理器未配置全局异常处理或者没有匹配到异常时的处理流程以上处理过程中的未捕获异常,交给tomcat去处理异常。
【常见的编解码场景】 常见的编解码场景一,编码与解码1.1 字符编解码字符集和编码编解码过程分析编解码举例1.2 http url编码1.3 http body编码1.4 压缩编码1.5 对象编码netty框架中的编码解码dubbo框架的编码解码二, http链路中的编解码2.1 浏览器的请求过程2.2 对于服务端的返回数据,浏览器的处理过程三, 参考在软件领域内,有诸多编码解码的应用场景,而对于编码一词的使用,在不同场景下也会有不同的语义表达,很多软件开发人员不堪其困扰,至少我本人是经历了很波折的一些过程。举几个场景,比如
springboot上传文件过大,全局异常捕获,浏览器没有返回数据 文章目录背景现象处理方式终极原因背景使用springboot上传大文件,项目里进行全局异常处理,上传文件超过配置文件max大小,异常被捕获,浏览器端没有任何返回值。从后台报错日志来看,异常已经被全局异常处理捕获到了,并且也已经完成响应,而前端(swagger,browser)没有看到返回信息应用技术栈:springboot,ControllerAdvice,swagger,fileupload现象浏览器显示net:: ERR_CONNECTION_ABORTED或者!Provisio
nginx反向代理的三种方式 文章目录根据域名代理根据端口代理根据路径代理总结根据域名代理server { listen 1111; server_name tomcat.local; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
springcloud ApplicationInitialize两次调用以及配置中心对比分析 文章目录背景ApplicationContextInitializer两次执行原因分析如何避免执行多次?配置中心设计方案对比分析背景springcloud工程,工作代码中新增了ApplicationContextInitializer(步骤:1. 增加实现类,2. spring.factories文件增加配置),联调过程中发现执行了两次initialize方法debug ApolloApplicationContextInitializer类时,发现执行了两次initialize方法Appli
jdk11下ClassLoader的踩坑经历 ClassLoader的踩坑经历背景现象环境信息排查过程根本原因解决方案(任选其一)其他依赖ForkJoinPool的场景参考背景jdk11已发布多年(2018年发布),但在国内的使用情况却并不乐观,这次项目组顶着压力,把之前用到的oraclejdk8升级成openjdk11,期间遇到了不少问题,以下不探讨classloader机制在jdk8和jdk11的差异,根据实际遇到的场景,分析classloader的变化对spring项目的某些影响。现象2020-12-30 16:49:03.082 [Fo
配置swagger2默认认证行为 swagger认证简述swagger提供了多种认证方式,可以在swagger-ui界面上配置使用,比如:basicAuth,apiKey,oauth等使用流程上,对于每个请求接口,都需要添加@ApiOperation注解,并指定authorizations参数,标识出使用的是哪种认证方式swagger认证在实际业务场景中遇到的问题对于非资深的swagger用户来说,大多数的使用场景,直接加入swagger依赖,启动项目,使用swagger-ui调试接口,最好提供swagger的默认配置行为实
druid数据库连接池常用配置 文章目录druid连接池常用的几个配置参数结合实际场景,解释下这几个参数聊一下mysql数据库的wait_timeout参数druid连接池常用的几个配置参数配置项推荐配置含义备注initialSize3初始化连接池大小minIdle3最小连接数maxActive15最大连接数maxWait6000获取连接时超时时间(单位:ms)testOnBorrowfalse获取连接检测testOnReturnfalse归还连接
maven cobertura插件导致的java VerifyError: Expecting a stackmap frame at branch target 文章目录在做单元测试覆盖率统计时,报错如下问题解决原因分析在做单元测试覆盖率统计时,报错如下java.lang.VerifyError:Expecting a stackmap frame at branch target 83Exception Details: Location: com/example/xx/CalculatorService.service1(Ljava/lang/String;)Ljava/lang/String; @28: ifeq Reason:
spring schedule轻量级分布式调度方案--实现 spring schedule轻量级分布式调度方案--实现类结构图例代码OnceOnTheSameTimeAbstractOnceServiceMessageIdempotenceOnceServiceOnceOnTheSameTimeAspect接上文,介绍不再多说。类结构图例@startumlclass OnceOnTheSameTimeAspectpackage "once operators" #DDDDDD { abstract class AbstractOnceServic
spring schedule轻量级分布式调度方案--设计 spring schedule轻量级分布式调度方案背景场景一场景二场景三场景抽象设计实现其他背景本文标题定为《spring schedule轻量级分布式调度方案》,希望以此为切入点,分析以下场景面临的共性问题。场景一spring的普及型以及spring schedule任务调度实现的一股清流schedule模块的局限性,仅限于单机执行场景二创建操作时幂等性处理比如:用户频繁的点击,新建模型;场景三消息幂等性统一处理场景抽象以上场景,有个共同的部分,多次重复操作保证只成功一
redis事务方法释疑以及RedisTemplate事务实战 1.背景 redis有事务的概念(官方文档中transction),而在使用redis事务的过程中,很大程度上对于开发人员带来了一定的困扰;大部分软件从业人员都是基于传统关系型数据库建立技术栈,对于关系型数据库的事务,ACID的特性有着根深蒂固的情结;提到redis的事务时也总是会对于mysql的事务进行对比,总结,并沉淀指导业务开发中的范式。 在api使用层面,其实他们还是有很多的差异,在开发过程中也会有些疑惑; 不恰当的使用场景,甚至于错误使用的场景频频出现,本文算是redis事务的释疑。本文
springboot2.2.x, hystrix-dashboard监控页面一直显示loading的问题 hystrix-dashboard一直loading组件版本号错误现象错误原因修改方案组件版本号 <spring-cloud-alibaba.version>2.2.1.RELEASE</spring-cloud-alibaba.version> <spring-cloud.version>Hoxton.SR5</spring-cloud.version> <hystrix-dashboard.version>2.2.3.REL
spring-caching动态适配redis jsonarray和jsonobject spring-caching动态适配redis jsonarray和jsonobject【原创】转载请注明出处背景原因分析解决思路解决方案【原创】转载请注明出处背景spring @EnableCaching框架的强大不再多说,想必大家都很清楚了;redis作为缓存服务器的首选也是众望所归笔者的使用场景是缓存两种数据:a.以用户id为key,缓存用户账号相关数据b.以‘allNetworkAnchors’为key,缓存所有的主播账号数据然后就开始愉快的编码了, @C