最近遇到Controller中需要多个@RequestBody的情况,但是发现并不支持这种写法, 这样导致 1.单个字符串等包装类型都要写一个对象才可以用@RequestBody接收: 2.多个对象需要封装到一个对象里才可以用@RequestBody接收. 查阅StackOverFlow,受到一个解决方案的启发,本人改进为以下版本,并给出了详尽的注释,希望对大家有帮助. 改进后的方案支持: 1.支持通过注解的value指定JSON的key来解析对象. 2.支持通过注解无value,直接根据参数名…
在Springboot程序启动后,会默认添加OrderedCharacterEncodingFilter和HiddenHttpMethodFilter过滤器.在HiddenHttpMethodFilter过滤器中会调用request.getParameter(),从而造成我们在controller中通过request的InputStream无法读取到RequestBody的数据.如下: 如果我们读取RequestBody的字节数据该怎么办呢?这里介绍2种处理方式,推荐第一种方式: 一.使用@Re…
先吐槽一下UEditor作为一个前端的js类库,非要把4种后端的代码给出来,而实际生产中用的框架不同,其代码并不具有适应性.(通常类似其它项目仅仅是给出数据交互的规范.格式,后端实现就可以自由定制) 接下来还是说各种问题把 1.首先下载其jsp的版本... 然而我并没有用jsp <%@ page language="java" contentType="text/html; charset=UTF-8" import="com.baidu.uedit…
遇到的问题 今天遇到一个线上的BUG,在执行表单提交时失败,但是从程序日志中看不到任何异常信息. 在Review源代码时发现,当catch到异常时只是输出了e.getMessage(),如下所示: logger.error("error: {}, {}", params, e.getMessage()); 在日志中看不到任何信息,说明e.getMessage()返回值为空字符串. 原因分析 先来看一下Java中的异常类图: Throwable是Java中所有异常信息的顶级父类,其中的成…
issue:用[(ngModel)]="property"指令双向数据绑定,报错. reason1:使用ngModel绑定数据需要注入FormsModule模块,在app.module.ts中全局注入 @NgModule({ imports: [ FormsModule ] }) reason2:不符合ng绑定数据的书写规则 规则一:在input标签中添加name属性[推荐使用] <input [(ngModel)]='params.username' name="us…
SpringBoot 中 @RequestBody的正确使用方法 最近在接收一个要离职同事的工作,接手的项目是用SpringBoot搭建的,其中看到了这样的写法: @RequestMapping("doThis") public String doThis(HttpServletRequest request, @RequestParam("id") Long id, // 用户ID @RequestParam("back_url") Strin…
1 QueryDSL介绍 1.1 背景 QueryDSL的诞生解决了HQL查询类型安全方面的缺陷:HQL查询的扩展需要用字符串拼接的方式进行,这往往会导致代码的阅读困难:通过字符串对域类型和属性的不安全引用又是HQL面临的问题. 随着类型安全的域模型给软件开发带来的巨大好处,域的更改可以直接反应在查询上,而且随着域的更改查询也会自动随着改变.(即:同一套查询,只需要通过改变域就可以实现不同的查询) 针对Hibernate的HQL是Querydsl的第一个目标语言,但现在它支持JPA,JDO,JD…
maven resource 组件可以把pom的变量替换到相关的resouces目录中的资源文件变量 示例项目:内容中心 (文章管理)  生成jar包,生成docker ,生成k8s文件 1.项目结构 ├── content-api │   ├── pom.xml │   └── src │   ├── main │   │   └── java │   │   └── com │   │   └── itstudy │   │   └── content_api │   │   ├── dom…
本文不再更新,可能存在内容过时的情况,实时更新请移步我的新博客:SpringBoot Controller接收参数的几种方式盘点: SpringBoot Controller接收参数的几种常用方式盘点如下: 一.请求路径参数 1.@PathVariable 适用于url包含请求参数的情况,例如:/common-bsp/bsp/organ/{struIds},后台接收示例: @DeleteMapping("/{struIds}") public ResponseResult delete…
在Springboot程序启动后,会默认添加OrderedCharacterEncodingFilter和HiddenHttpMethodFilter过滤器.在HiddenHttpMethodFilter过滤器中会调用request.getParameter(),从而造成我们在controller中通过request的InputStream无法读取到RequestBody的数据.如下: 如果我们读取RequestBody的字节数据该怎么办呢?这里介绍2种处理方式,推荐第一种方式: 一.使用@Re…