使用Postman注册RestAPI用户时遇非空验证错误求助
解决RestAPI注册用户时的非空校验错误
检查Postman请求配置
- 确认请求方法为
POST,请求头Content-Type设置为application/json(若使用JSON格式传参)。 - 核对请求体中的参数名与后端User模型字段名完全一致,注意大小写(比如是
firstName而非Firstname或first_name)。正确的请求体示例:{ "firstName": "张三", "lastName": "李四", "email": "zhangsan@example.com" } - 若使用
form-data或x-www-form-urlencoded传参,需保证表单键名和模型字段名严格匹配。
- 确认请求方法为
验证后端参数绑定逻辑
- 确认接口接收参数的DTO(数据传输对象)包含
firstName和lastName字段,且拼写无误。 - 检查参数绑定注解是否正确配置:比如Spring Boot中需用
@RequestBody注解接收JSON参数,Express项目需确保已启用body-parser中间件解析请求体。示例代码:
Spring Boot:
Express:@PostMapping("/register") public ResponseEntity<?> registerUser(@RequestBody UserRegistrationDto dto) { // 注册逻辑 }const express = require('express'); const app = express(); app.use(express.json()); // 解析JSON请求体 app.post('/register', (req, res) => { // 处理注册请求 });
- 确认接口接收参数的DTO(数据传输对象)包含
排查参数拦截/过滤问题
- 检查项目中是否存在全局拦截器、过滤器,确认它们没有误过滤
firstName或lastName字段。
- 检查项目中是否存在全局拦截器、过滤器,确认它们没有误过滤
打印请求日志确认参数传递
- 在后端接口中添加日志,打印接收到的完整请求体,验证
firstName和lastName是否真正传递到后端。比如:
如果日志中这两个字段为app.post('/register', (req, res) => { console.log('请求体内容:', req.body); // 后续逻辑 });null,问题出在请求端;若日志中有值仍报错,需检查模型映射或校验逻辑是否存在冲突。
- 在后端接口中添加日志,打印接收到的完整请求体,验证
内容的提问来源于stack exchange,提问作者gigaBoy
相关产品推荐
相关产品推荐

