RestTemplate 设置服务不可用重试策略
RestTemplate 一开始是在 Spring boot 的消费一个 rest 风格的 web 服务 遇到的,当时比较奇怪,正常来说与 http 请求相关的类名应该都带点 http 元素吧。服务远程调用指南(RestTemplate、HttpClient) 中概述里有这样一句:java开发中,使用 http 连接,访问第三方网络接口,通常使用的连接工具为 RestTemplate、HttpCl
RestTemplate 一开始是在 Spring boot 的消费一个 rest 风格的 web 服务 遇到的,当时比较奇怪,正常来说与 http 请求相关的类名应该都带点 http 元素吧。服务远程调用指南(RestTemplate、HttpClient) 中概述里有这样一句:java开发中,使用 http 连接,访问第三方网络接口,通常使用的连接工具为 RestTemplate、HttpCl
漏洞描述:Fastjson是一款基于Java的快速JSON解析器/生成器。Fastjson 1.2.83 之前版本存在安全漏洞,该漏洞源于容易绕过默认的 autoType 关闭限制来反序列化不受信任的数据,攻击者利用该漏洞可以攻击远程服务器。noneautotype版本不受影响,请忽略参考:security_update_20220523,有几条可用的方案:升级到最新版本1.2.83safeMod
项目服务器报了一个应用漏洞:Spring Framework 身份认证绕过漏洞(CVE-2023-20860) 。漏洞详情里提供了修复方法:厂商已经发布安全修复版本修复该漏洞,参考链接:https://spring.io/security/cve-2023-20860(1) Spring Framework 5.3.X 系列用户建议升级Spring Framework到5.3.26及以上安全版本修
参考 若依项目的系统日志 给一些接口加上操作记录。在需要被记录日志的controller方法上添加@Log注解,使用方法如下:@Log(title = "xxx接口", businessType = BusinessType.OTHER) public AjaxResult addSave(...) { return success(...); }项目使用注解 com/
使用 knife4j 3.0.3 测试接口,发现 POST 请求出现错误信息,不是自定义的返回内容。{ "timestamp": "2023-03-31T07:23:08.378+00:00", "status": 403, "error": "Forbidden", "m
昨天整理了 API 文档组件 swagger2 的增强工具 knife4j 3.0.3 版本,今天熟悉了一下 springfox 3.0.0 (knife4j 3.0.3 底层框架) 的一些注解,以及 knife4j 的一些 spring boot 配置项。因为 API 文档基本都属于是开发环境使用的,正式环境一般不会开放这样的访问,所以需要了解如何关闭 knife4j。因为 knife4j 3.
本地环境:Java jdk1.8 Spring Boot 2.7.10 Mybatis-Plus 3.5.3.1Mybatis-Plus 代码生成器(新) 是一个根据连接的数据库表结构快速生成 Mybatis-Plus 需要的 controller、entity、mapper、service 的工具。数据源 DATA_SOURCE_CONFIG 可以 H2 ,也可以是持久存储的 mysql 之类。
有关于 H2 表结构问题,之前有做过总结:Mybatis-plus 官网的快速开始测试报错:expected "ARRAY, INVISIBLE, VISIBLE, NOT NULL, NULL, AS, DEFAULT, GENERATED..."。一些报表结构 syntax error 的,也在这篇里面,包括使用保留字段 user。关于 自定义 MP 的 mapper 方法绑定 xml 文件报
使用了阿里的 JSON 解析库,在 JSON.parseObject(body) 解析返回 JSON 字符串时报错:JSONException: can not cast to JSONObject。不确定问题所在,先是增加 jsonObj.containsKey("error_code") 来判断是否存在错误码,但这个解析错误是在这个判断之前,所以对当前问题没有帮助。后找到一
转自:Java8对List进行筛选(Stream)//对相同内容的list进行去重 List<AppleNode> disList = appleList.stream().distinct().collect(Collectors.toList()); //取出name和code和apleNewList中的数据一致的内容 List<Apple> filterApple