Spring 编程常见错误 50 例
傅健
Cisco 高级软件工程师、Netty 源码贡献者
17065 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 29 讲
结束语 (1讲)
期末测试 (1讲)
Spring 编程常见错误 50 例
15
15
1.0x
00:00/00:00
登录|注册

11 | Spring Web Body 转化常见错误

你好,我是傅健。前面几节课我们学习了 Spring Web 开发中绕不开的 URL 和 Header 处理。这一节课,我们接着讲 Body 的处理。
实际上,在 Spring 中,对于 Body 的处理很多是借助第三方编解码器来完成的。例如常见的 JSON 解析,Spring 都是借助于 Jackson、Gson 等常见工具来完成。所以在 Body 处理中,我们遇到的很多错误都是第三方工具使用中的一些问题。
真正对于 Spring 而言,错误并不多,特别是 Spring Boot 的自动包装以及对常见问题的不断完善,让我们能犯的错误已经很少了。不过,毕竟不是每个项目都是直接基于 Spring Boot 的,所以还是会存在一些问题,接下来我们就一起梳理下。

案例 1:No converter found for return value of type

在直接用 Spring MVC 而非 Spring Boot 来编写 Web 程序时,我们基本都会遇到 “No converter found for return value of type” 这种错误。实际上,我们编写的代码都非常简单,例如下面这段代码:
//定义的数据对象
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student {
private String name;
private Integer age;
}
//定义的 API 借口
@RestController
public class HelloController {
@GetMapping("/hi1")
public Student hi1() {
return new Student("xiaoming", Integer.valueOf(12));
}
}
然后,我们的 pom.xml 文件也都是最基本的必备项,关键配置如下:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了在Spring Web开发中常见的Body处理错误,并提供了详细的案例分析和解决方法。首先,文章讨论了在使用Spring MVC编写Web程序时可能遇到的"No converter found for return value of type"错误,以及在代码未改动的情况下,返回结果发生变化的情况。其次,文章介绍了针对这些问题的修正方法,包括使用@JsonInclude注解和修改ObjectMapper对象。此外,文章还探讨了在请求过程中可能出现的"Required request body is missing"错误,并分析了该错误的根本原因。通过对Spring Web Body转化常见错误的分析,读者可以了解到在Spring Web开发中可能遇到的一些常见问题,并学习到解决这些问题的方法。文章还提供了一个针对Body解析的实际案例,通过这些案例,读者可以更深入地了解Spring Web中关于Body解析的常见错误,并掌握关键知识点,如不同的Body需要不同的编解码器、非Spring Boot程序中JSON等编解码器不见得是内置好的等。整体而言,本文为读者提供了深入且实用的Spring Web开发技术知识,对于需要解决类似问题的开发人员具有重要的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Spring 编程常见错误 50 例》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • Geek_tod-f2e
    springboot的starter自动引入了jackson依赖包
    2021-06-09
    1
    17
  • 一记妙蛙直拳
    源码果然还是不那么容易啃,看着看着就走神了;铁子们有啥好办法吗
    2021-05-18
    2
    4
  • 黑白颠倒
    源码很不容易看,所以可以先做笔记,记下结论,有空再深入源码分析。
    2021-08-16
    3
  • 小飞同学
    思考题:springboot自动装配了WebMvcAutoConfiguration
    2021-05-17
    1
    1
  • X
    HttpMessageConvertersAutoConfiguration
    2023-07-18归属地:北京
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部