摘要:
SpringMVC启动的时候,会把接口信息收集在RequestMappingHandlerMapping中,故可以通过这个类,拿到全部的映射信息,Sample代码段如下: 阅读全文
摘要:
一、为什么只能读一次 原因很简单:因为是流。想想看,java中的流也是只能读一次,因为读完之后,position就到末尾了。 二、解决办法 思路:第一次读的时候,把流数据暂存起来。后面需要的时候,直接把暂存的数据返回出去。 实现逻辑: 1. 自定义一个HttpServletRequestWrappe 阅读全文
摘要:
一、背景: 我们的接口为了统一,在ResponseBodyAdvice中对返回值做统一处理,默认添加了errorNo和errorInfo字段返回。 最近同事改接口代码的时候,发现接口返回值是空的。乍一看,没什么重大修改。 接口代码大致就是下面这个样子: 二、问题分析 顺着这个接口,单步调试跟到Spr 阅读全文
摘要:
springboot打成jar包后无法解压 Springboot打出来的jar,用压缩工具解压报错。Why? 先说解决办法。 1、解决办法 executable属性导致的,属性改成false后重新打包,就可以解压 那么,executable设置成true作用是什么呢?为什么设置成true就无法解压呢 阅读全文
摘要:
一、打包 Springboot打包的时候,需要配置一个maven插件[spring boot maven plugin] 这个插件提供了5个功能模块,包括: build info:生成项目的构建信息文件build info.properties repackage:默认goal。在mvn packa 阅读全文
摘要:
Base64出现\r\n的问题 前段时间遇到这么一个小问题: 后台接口返回一个图片的base64串,同事拿着这个字符串,找了一个在线图片和Base64字符串互转的工具网站,想将字符串转成图片,死活转不了,一度怀疑生成代码有问题。 o(╯□╰)o 对比了下接口返回的字符串,和在线工具网站图片转的bas 阅读全文
摘要:
1、LiquiBase简介 LiquiBase是一个用于数据库重构和迁移的开源工具,通过日志文件的形式记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态。LiquiBase的主要特点有: 支持几乎所有主流的数据库,如MySQL, PostgreSQL, Oracle, Sql 阅读全文
摘要:
前面在 "使用Swagger2时遇到的坑" 中简单介绍了Swagger的使用。 不过默认情况下,Swagger2会把项目中的所有接口都展示在列表里,特别是你用了Springboot/SpringCloud之后,各种内部health check的接口,但其实这些都没必要展示出来。 这时候,你就需要限定 阅读全文
摘要:
Swagger2使用起来很简单,加一个@EnableSwagger2注解,并引入如下依赖就ok了 配置好之后,启动项目,浏览器输入 http://localhost:8080/swagger ui.html 应该就能看到api页面了。 But… 问题一:认证 Unable to infer base 阅读全文
摘要:
Apollo源码阅读笔记(二) "前面" 分析了apollo配置设置到Spring的environment的过程,此文继续PropertySourcesProcessor.postProcessBeanFactory里面调用的第二个方法initializeAutoUpdatePropertiesFe 阅读全文