自定义RequestBodyAdvice实现接口打印
注意:只能接受@RequestBody
类型的input参数。
Controller
1 | package com.example.demo.demos.web; |
Advice
1 | package com.example.demo.demos.web; |
注意:只能接受@RequestBody
类型的input参数。
1 | package com.example.demo.demos.web; |
1 | package com.example.demo.demos.web; |
在IDE中通过选中单元测试路径,点击右键选择run test和点击maven中的test是有区别的。在Maven执行测试的过程中,是不允许测试cases访问其他项目的测试类和其他项目的resources下文件的。也就是说,在a/src/test/java下的测试用例,是不能引用b/src/test/java中的类的,同时也不允许访问b/src/test/resources下的资源的。但是在IDE中的Run Unit Test几乎是没有这样的限制的。
Maven强制要求src/test/java下不能存在resource的文件,必须放到src/test/reources文件夹下,但是IDE却很少有对应的约束。
1 | <plugin> |
重点加入configureation的配置部分
1 | <plugin> |
在2.14以上的版本中,forkMode配置项已经废弃了。
业务上有需求,需要将日语外字替换成指定字符,利用FilterInputStream实现。
1 | import java.io.BufferedReader; |
日语内外字不在常规Unicode编码集内,需要手动更换成编码集内的文字。
外字在本地文档/服务器文档编码集符合文档提供的规则,但是在Stream流内会自动解析成\\uFFFD\\uxxxx
。例如SJIS编码下F141
的文字,在UTF8下编码为E08D
,但是进入Stream流后变成了\\uFFFD\\u0041
,所以要在代码内实际确认一下对应的编码。同时因为外字转成了\\uFFFD\\uxxxx
,所以位数变成了2位,而且外字变换常规字符后可能会由一个字符变成多个字符,对应Byte的切分要注意位数变更。
1 | public static void printUnicode(String str) { |
1 | Map<String, String> convertMap = new HashMap<>(); |
final是引用不可变,值还是可以改变的。
1 | public class App { |
前后端分离的时候出现了跨域问题。。。。虽然可以用Jsonp的方式解决,但是axios推荐利用CORS
方式解决。
添加一个拦截器
1 | package com.wordcard.filter; |
学习SpringBoot项目中,单元测试时发现@NotNull
等注解没有生效。
没有在调用处添加@Validated
和@Valid
注解。
1 | public Class User { |
@Validated
注解。@Valid
。普通类型(如String)则不用。1 |
|