需求:前端需要一句话但这句话中包括换行符\n,比如:你好\n世界
错误的做法:直接把这句话存到数据库中,就比如这样:
然后通过一系列的查询,通过swagger ui测试接口查出来的结果是这样的:
这样的结果是不对的,前端拿到的就是“你好\\n世界”,而不是他们需要的“你好\n世界”
正确简单做法:就是找一个文本编辑器,比如notepad,先把需要的文本内容编辑好,就是\n的地方加回车换行,如下图:
然后呢,就是ctrl a,ctrl c,ctrl v到数据库的表中,得到的是这样的:
然后再用swagger测试接口,查询到的值是这样的:
没错,这就是正确的结果,前端拿到的就是“你好\n世界”,完美解决
其实问题出在这个'\'斜杠上,在java中它是一个转义字符,还有就是直接在数据库中加入'\n'这种字符,数据库和java都不认识它是换行符,它们只知道回车才是换行。当然也有其它方法解决,比如在自己查询方法的业务层去进行一些转换操作也可以实现,但是这个简单嘛