SpringBoot统一返回处理时,字符串类型转换失败怎么办?
- 内容介绍
- 文章标签
- 相关推荐
本文共计365个文字,预计阅读时间需要2分钟。
后端接口返回格式为:{\result\:null,\status\:1010}。之前接口有一个return ner.ResultBody.success()的操作,后期利用@RestControllerAdvice统一处理,就不需要每个方法都写return ResultBody.success()了。
后端接口返回个前端的格式为:{"result":null,"status":1010}
以前接口有一个return ner ResultBody.success()的操作,后期利用@RestControllerAdvice统一处理后,就不用每一个方法都要写一个返回ResultBody.success()了
但是当返回值是一个String时,会报错ResultBody cannot be cast to java.lang.String
原因是返回值是String,Spring会使用StringHttpMessageConverter来处理返回体,但是我们定义的统一返回处理类将返回值String,变成了Result.success((String)),是一个对象。导致类型转换失败了。
本文共计365个文字,预计阅读时间需要2分钟。
后端接口返回格式为:{\result\:null,\status\:1010}。之前接口有一个return ner.ResultBody.success()的操作,后期利用@RestControllerAdvice统一处理,就不需要每个方法都写return ResultBody.success()了。
后端接口返回个前端的格式为:{"result":null,"status":1010}
以前接口有一个return ner ResultBody.success()的操作,后期利用@RestControllerAdvice统一处理后,就不用每一个方法都要写一个返回ResultBody.success()了
但是当返回值是一个String时,会报错ResultBody cannot be cast to java.lang.String
原因是返回值是String,Spring会使用StringHttpMessageConverter来处理返回体,但是我们定义的统一返回处理类将返回值String,变成了Result.success((String)),是一个对象。导致类型转换失败了。

