后端封装dto内为起始和结束时间,但前端传入json时却获取不到,一直为null
controller层
(
@RestController
@RequestMapping("/uu")
@Slf4j
public class UController {
@Autowired
private UserService userService;
@PostMapping("/search2")
public List search2(@Valid @RequestBody UserDto userDto){
//一直获取userDto内的属性值为null
log.info("userDto.getDateFrom:{},userDto.getDateTo:{}",userDto.getDateFrom(),userDto.getDateTo());
return userService.search2(userDto);
}
}
```)
封装的UserDto
```java
@Data
public class UserDto {
private String DateFrom;
private String DateTo;
}
后端接收到前端传的两个参数值!谢谢
已解决啦,统一回复一下:
reason: dto命名不规范导致spring解析的时候获取的值不准确,应该改为小写,其次,在postman测试的时候注意传值,两个字段传入即可
solve:封装的dto字段规范命名,其次在postman测试时字段对应上
感谢:一剑荒芜、yedelzx、天蝎彬的宝贵建议!!!
{
“DateFrom”:“”,
“DateTo”:“”
}
这样就可以,
你那样传参表示,userDto是一个数组,数字的元素是一个变量,其实前端相当于只传了一个名为userDto的参数,类型是数组。然后你后端接受参数用的是一个类,框架会去找这个类里面名为userDto的变量,但是很明显没有,然后就是null了
格式错了,如果你接口没写错的情况下,你用postman测试应该是这样的
{
"DateFrom":"1999-12-18",
"DateTo":"2022-09-06"
}