本文主要介绍了springboot 接口返回字符串带引号的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


如下代码,返回结果是 "hello world",添加了一个双引号。



不管返回什么的结果,肯定经过MessageConvert进行消息的输出,debug看使用了哪一个MessageConvert

选择MessageConvert的方法是
org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor#writeWithMessageConverters(T, org.springframework.core.MethodParameter, org.springframework.http.server.ServletServerHttpRequest, org.springframework.http.server.ServletServerHttpResponse)

关键代码

debug发现我的messageConvert只有一个,是com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter。那肯定是经过FastJson将String 写到输出流。

debug查看FastJsonHttpMessageConverter具体的write 代码 ,可以看到此时输出字符串添加了引号。

方法:com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter#writeInternal

写个fastjson 转化字符串试试,如下结果输出是 "hello world",添加了引号。



来源:https://www.jb51.net/article/244610.htm