一、mica(云母)
mica是一个微服务组件集,但不仅仅是组件,我们关注的是微服务生态并持续演进,尽量做到开箱即用,简化使用和排坑。总共已有 40+ 组件,并且很多组件已经打通。
![mica 2.x 模块图]()
![]()
二、版本说明
| 最新版本 |
mica 版本 |
spring boot 版本 |
spring cloud 版本 |
| 2.5.7 |
mica 2.5.x |
2.5.x |
2020 |
| 2.4.11 |
mica 2.4.x |
2.4.x |
2020 |
| 2.1.1-GA |
mica 2.0.x~2.1.x |
2.2.x ~ 2.3.x |
Hoxton |
说明:mica 对 Spring cloud 为非强制依赖,除了 mica-jobs、mica-prometheus 其他组件普通 Spring boot 项目也可以使用。
三、更新记录
v2.5.7 - 2021-11-28
- ✨ mica-redis 优化,方便自定义序列化。
- ✨ mica-xss 优化,避免 xss 关闭时被类扫描,导致 bean 找不到异常。
- ✨ mica-core 添加 retry 接口。
- ✨ mica-http 代码优化去掉 spring retry 依赖。,感谢 Jap 作者亚东的建议。
- 📝 mica-redis 优化 README.md 文档,感谢 Jap 作者亚东的 pr。
- 📝 mica-http 更新 README.md 文档。
- ⬆️ Upgrading dependencies.
- ⬆️ 升级 Gradle 到 7.3。
- ⬆️ 升级 lombok 到 1.18.22。
- ⬆️ 升级 Spring boot 到 2.5.7。
- ⬆️ 升级 mica-weixin 到 2.1.2。
v2.5.6 - 2021-10-28
- ✨ mica-redis 优化 MicaRedisCache bean 名称。
- ✨ mica-spider 更好的支持 java17。
- ✨ mica-core BeanUtil#generator 支持 java17。
- 🐛 mica-redis rpush、lpush 修复,优化 MicaRedisCache 方法泛型。
- ⬆️ 升级 druid 到 1.2.8
- ⬆️ 升级到 Spring boot 到 2.5.6
mica-http 使用
mica-http 是基于 okhttp 封装,Fluent 语法的 http 工具包。
// 同步请求 url,方法支持 get、post、patch、put、delete
HttpRequest.get("https://www.baidu.com")
.useSlf4jLog() // 使用 Slf4j 日志,同类的有 .useConsoleLog(),日志级别为 BODY
.addHeader("x-account-id", "mica001") // 添加 header
.addCookie(builder -> builder.domain("www.baidu.com").name("name").value("value")) // 添加 cookie
.query("q", "mica") // 设置 url 参数,默认进行 url encode
.queryEncoded("name", "encodedValue")
.retryOn(responseSpec -> !responseSpec.isOk()) // 对结果集进行断言重试
.proxy(InetSocketAddress.createUnresolved("127.0.0.1", 8080)) // 设置代理
.formBuilder() // 表单构造器,同类 multipartFormBuilder 文件上传表单
.add("id", 123123) // 表单参数
.execute() // 发起请求
.asJsonNode(); // 结果集转换,注:如果网络异常等会直接抛出异常。
// 同类的方法有 asString、asBytes
// json 类响应:asJsonNode、asValue、asList、asMap、atJsonPath、,采用 jackson 处理
// file 文件:toFile
四、mica生态
五、文档