Spring书店应用Postman列表传参错误致空指针问题解决
问题分析与解决步骤
1. 核心问题1:字段名不匹配
你的DTO类中定义的列表字段是authorsList(注意末尾的s),但Postman请求体里写的是authorList,少了一个s,导致Spring无法将请求参数映射到DTO的authorsList字段,最终该字段为null,触发空指针异常。
2. 核心问题2:请求体结构错误
你的DTO是单个BookCreateDtoRequest对象,但当前Postman请求体用数组[]包裹了对象。如果你的接口接收的是单个书籍对象参数,这种数组结构会导致解析失败,进一步引发字段赋值问题。
正确的Postman请求体(单对象场景)
去掉外层数组,同时修正字段名:
{ "title":"sds", "quantity":555, "bookDescription":"sdasd", "price":15156, "genre":"sdsds", "language":"sds", "publisher": "dsds", "authorsList" : ["sdsd","Sdsd"] }
多对象场景的请求体(如果接口接收批量书籍)
若你的接口参数是List<BookCreateDtoRequest>,可以保留外层数组,但必须修正字段名:
[{ "title":"sds", "quantity":555, "bookDescription":"sdasd", "price":15156, "genre":"sdsds", "language":"sds", "publisher": "dsds", "authorsList" : ["sdsd","Sdsd"] }]
额外注意事项
- 确保Postman请求头的
Content-Type设置为application/json,否则Spring无法正确解析JSON格式的请求体。
内容的提问来源于stack exchange,提问作者Kai7
相关产品推荐
相关产品推荐

