技术标签: spring-boot json from-data
1. form-data参数获取
@RequestMapping("/isChartConfig")
public Message isChartConfig(String tableName, String title, Message message) {
if (StringUtils.isBlank(tableName) && StringUtils.isBlank(title)) {
Map<String, String> params = GetParamsUtils.getParamsMap();
tableName = params.get("tableName");
title = params.get("title");
}
dbService.isChartConfig(tableName, title, message);
return message;
}
2. form-data参数获取不到时获取json参数
public class GetParamsUtils {
private static final Logger log = LoggerFactory.getLogger(GetParamsUtils.class);
public static String jsonReq(HttpServletRequest request) {
BufferedReader br;
StringBuilder sb = null;
String reqBody = null;
try {
br = new BufferedReader(new InputStreamReader(request.getInputStream()));
String line = null;
sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line);
}
br.close();
if (sb.length() < 1) return "";
reqBody = URLDecoder.decode(sb.toString(), "UTF-8");
reqBody = reqBody.substring(reqBody.indexOf("{"));
return reqBody;
} catch (IOException e) {
log.error("获取json参数错误!{}", e.getMessage());
return "";
}
}
public static Map<String, String> getParamsMap(HttpServletRequest request) {
Map<String, String> paramsMap = new HashMap<>();
String json = jsonReq(request);
if (StringUtils.isNotBlank(json)) {
return JSONObject.parseObject(json, Map.class);
}
return paramsMap;
}
public static Map<String, String> getParamsMap() {
Map<String, String> paramsMap = new HashMap<>();
try {
ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = sra.getRequest();
String json = jsonReq(request);
if (StringUtils.isNotBlank(json)) {
return JSONObject.parseObject(json, Map.class);
}
} catch (Exception e) {
log.error("json参数转换错误!{}", e.getMessage());
}
return paramsMap;
}
}
文章浏览阅读2.5w次。有可能有人会问我为什么还在使用svn而不是git,从现状来讲git毫无疑问是当下的翘楚,但是并不是每个公司都会顺应时代潮流,svn就是是我们公司成为了首选的版本控制工具,既来之则安之! 回到主题吧,就在我开发的过程中,一次偶然的操作导致了提交与更新都无法成功。每次得到的结果都是None of the targets are working copies!立马我想到的就是谷歌,但..._none of the targets are working copies
文章浏览阅读3.4w次,点赞22次,收藏106次。OneKey_Lite是一款由 @只为设计 独立开发的WPS演示免费插件。在开发过程中,感恩于网上那些无私分享代码的陌生人,给我这个开发小白提供了重要的借鉴参考。于是我决定把用C#和Visual Studio开发WPS插件的每一个具体步骤分享出来,让免费分享精神继续传递下去,希望对需要的朋友提供一些帮助。(一)开发前准备1. 操作系统在Win10系统中引用WPS的dll文件可能会受到系统权限限制的..._wps插件开发
文章浏览阅读3.2k次,点赞2次,收藏13次。github项目地址①检查pytorch的安装②ffmpeg是做什么的,在哪里下载?怎么使用?原文地址ffmpeg是一个处理多媒体信息的框架,有视频采集、视频格式转换、视频抓图、给视频加水印等功能requirements.txtpython项目中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号,以便新环境部署切换到项目目录,生成requirement.txt文件并查看③Download Pretrained Mode..
文章浏览阅读258次。资料:实践!实现纯前端下的音频剪辑处理我的蓝猫被削了JS纯前端实现audio音频剪裁剪切复制播放与上传audio-sculptorffmpeg.js用 Web 实现一个简易的音频编辑器100AUDIO 免费在线音频编辑器重要:audiomassAudioMass虽然是python和go运行,但是绝大部分代码是js..._教学视频语音提取文本系统tefs
文章浏览阅读5.2w次,点赞70次,收藏544次。语音克隆仅需5秒之:MockingBird实现AI拟MockingBird1. 背景2. 环境搭建2.1 安装pytorch2.2 安装ffmpeg2.3 下载MockingBird源码2.4 安装requirements2.5. 下载预训练模型3. 运行MockingBrid1. 背景继“AI换脸”刷屏之后,这个AI换声技术也开始受到关注AI换声也叫AI拟声,2. 环境搭建建议使用Anaconda,可参加之前博文2.1 安装pytorch这里我直接pip安装的CPU版本pip3 in_提取音色模仿声音的软件
文章浏览阅读2.3k次。ApiPost是一个支持团队协作,并可直接生成文档的API调试、管理工具。它支持模拟POST、GET、PUT等常见请求,是后台接口开发者或前端、接口测试人员不可多得的工具 。使用者不仅可以利用apiopst调试接口,还可以书写相关注释(接口文档),方便的生成可读性好、界面美观的在线接口文档。本文主要包含以下内容:介绍ApiPost工具,它能做什么下载、安装的方法一些常用的操作介绍一些使用技巧前言:apipost能做什么?ApiPost是一个支持团队协作,并可直接生成文档的AP_api接口文档生成 apipost
文章浏览阅读4k次,点赞9次,收藏43次。arduino与openmv的智能物流小车一、购买模块组件准备阶段1、ArduinoMAGE2560+扩展板使用这个当做主控板,加上扩展板已经满足了所有需求,主要是也很便宜,唯一不足的是就是扩展板装上的时候,扩展板的电源接口的引脚有时候会与MAGE2560 的数据接口碰上,导致板子短路,当初因为这个换了好几块板子。2、openmvopenmv主要是用来扫码和识别物料颜色,我用的型号是openmv4 H7,识别很灵敏,但是换不同场景识别物料的时候一定要记得调节物料颜色阈值,不然有时候会识别不到。3_arduino和openmv跟随小车
文章浏览阅读1.4w次。.net用BouncyCastle进行签名&加解密_.net bouncycastle
文章浏览阅读2.8w次,点赞14次,收藏74次。原网站:sklearn官网使用sklearn计算 F1 scoresklearn.metrics.f1_score(y_true, y_pred, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')计算F1分数,也称为平衡F分数或F测度F1分数可..._metrics.f1_score
文章浏览阅读1.5k次。python 画子图+双坐标轴图_python 双坐标轴
文章浏览阅读1.5k次。问题试图向 GitHub 推送一个分支的时候,出现错误 refusing to allow an OAuth App to create or update workflow {0} without workflow scope。这个错误是说,因为 OAuth 的应用没有指定 workflow 范围,所以无法推送带有更新 workflow 的分支。虽然我实际上没有对 workflow 做任何更新,但也被拒绝了。所以这个问题必须直接解决,绕不开。git.exe push self master:t/w_refusing to allow an oauth app to create or update workflow `.github/workflo
文章浏览阅读6.9w次,点赞47次,收藏143次。一、需求有两个表格,test和test2如下所示:mysql> select * from test;+------+------+------------+| data | id | timestamp |+------+------+------------+| 300 | 3 | 1536292800 || 200 | 2 | 1536292..._mysql新增一列如何插入数据