后端代码为 @ResponseBody @ApiOperation(value = "获取作业头盔和作业点视频监控列表数据") @PostMapping(value = "/findVideosByWkps") public MResult findVideosByWkps(@RequestParam("wkps") List<String> wkps){ return cameraService.findVideosByWkps(wkps); }; 前端要怎么传参数
时间: 2024-03-05 07:53:51 浏览: 70
@ResponseBody 和 @RequestBody 注解的区别
5星 · 资源好评率100%
如果你想在前端使用JavaScript向后端发送一个包含@RequestParam注解的List<String>类型参数的POST请求,可以按如下方式进行:
1. 将List<String>转换为字符串。可以使用`JSON.stringify()`方法将List<String>转换为JSON字符串。例如:
```
var wkps = ["A", "B", "C"];
var wkpsStr = JSON.stringify(wkps);
```
2. 将字符串作为请求参数传递。可以使用Ajax方法向后端发送POST请求,并将字符串作为请求参数传递。例如:
```
var url = "/findVideosByWkps";
var data = {wkps: wkpsStr};
$.ajax({
url: url,
type: "POST",
data: data,
success: function(response) {
// 处理响应
},
error: function(jqXHR, textStatus, errorThrown) {
// 处理错误
}
});
```
在上述代码中,`data`对象中的`wkps`属性是@RequestParam注解指定的请求参数名称,其值为转换后的JSON字符串。在后端的Controller中,可以使用@RequestParam注解将该参数映射到List<String>类型的参数中。例如:
```
@RequestMapping(value = "/findVideosByWkps", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "获取作业头盔和作业点视频监控列表数据")
public MResult findVideosByWkps(@RequestParam("wkps") List<String> wkps) {
return cameraService.findVideosByWkps(wkps);
}
```
在上述代码中,@RequestParam注解指定了请求参数的名称为`wkps`,并将其映射到List<String>类型的参数中。当请求被发送时,请求参数会被解析为一个List<String>对象,可以在方法中直接使用List的方法来获取参数。
阅读全文