后端接口同时接收POJO对象(json)和基本数据类型的情况下,前端如何传值
程序员文章站
2022-06-01 15:26:16
...
#后端接口接收的参数
@RequestMapping(value = "/add", method = RequestMethod.POST)
@ApiOperation("添加题目")
public ResultUtil addProblem( @ApiParam(value = "problem", required = true) @RequestBody Problem problem,
@ApiParam(value = "标签的id(可以多个)", required = false) @RequestParam(required = false) List<String> labelIds) {
try {
problemService.addProblem(problem, labelIds);
} catch (Exception e) {
return new ResultUtil(ResponseConstant.ResponseCode.FAILURE, e.getMessage());
}
return new ResultUtil(ResponseConstant.ResponseCode.SUCCESS, "添加成功");
}
#problem实体 省去构造函数和getter setter
public class Problem implements Serializable {
@Id
@ApiModelProperty(hidden = true)
private String id; // 主键,题目编号
private String title; // 题目标题
private String description; // 题目描述
private String suggestedAnswer; // 题目参考答案
private int RAM; // 运行内存
private int runtime; // 运行时间
private String difficulty; // 题目难度
@ApiModelProperty(hidden = true)
private String creator; // 命题人
}
可知接口需要POJO对象和List数组。
利用postman测试,能正常调用接口的设置如下
headder:
body:
params:
由上面的例子可知,json和普通数据类型同时存在时,直接各种类型参数按照各自的传递方式进行传递即可,混在一起传递反而会失败(各种400错误)。
ajax参数传递:
List数组的参数拼接在接口url后面即可。