问题:
前台post方式提交请求后返回500错误
后台代码
@PostMapping("param")
public ResponseEntity<Void> addParam(SpecParam specParam){
specificationService.addParam(specParam);
return ResponseEntity.status(HttpStatus.CREATED).build();
}
好像没什么问题
调试发现参数值都是null
@Data
@Table(name = "tb_spec_param")
public class SpecParam {
@Id
@KeySql(useGeneratedKeys = true)
private Long id;
private Long cid;
private Long groupId;
private String name;
@Column(name = "`numeric`")
private Boolean numeric;
private String unit;
private Boolean generic;
private Boolean searching;
private String segments;
}
检查get和set方法也没有问题
仔细一看请求参数为json格式
所以问题原因找到了,post没能接收json格式的数据
要想接收json格式数据,就要在参数列表上加上@RequestBody注解
@PostMapping("param")
public ResponseEntity<Void> addParam(@RequestBody SpecParam specParam){
specificationService.addParam(specParam);
return ResponseEntity.status(HttpStatus.CREATED).build();
}
成功