我有一个带post方法的spring boot rest控制器。我想将多个参数从JavaScript post方法传递给该方法。我正在传递我的post方法数据,如下所示。
{
productPrices: {
fromDate: "2019-01-01",
toDate: "2019-02-01",
purchasePrice: "100",
retailPrice: "200",
wholesalePrice: "300"
},
pricesList : JSON.stringify(dataArr)
}
我的Rest Controller就是这样。
@RestController
public class ProductRestController {
@PostMapping("/addPrdPriceData")
@ResponseBody
public Map<String, Object> addToCart(@NonNull @RequestParam(name = "productPrices") ProductPrices productPrices, @RequestParam(name = "pricesList") List<ProductPrices> pricesList) {
}
}
当我调用Post方法时,出现以下错误。
> [org.springframework.web.bind.MissingServletRequestParameterException: Required ProductPrices parameter 'productPrices' is not present]
我在这里做错了什么?????
答案 0 :(得分:0)
将数据作为单个实体传递时,请使用单个请求参数。
js。
{
"productData"
{
"productPrices": {
"fromDate": "2019-01-01",
"toDate": "2019-02-01",
"purchasePrice": "100",
"retailPrice": "200",
"wholesalePrice": "300"
},
"pricesList" : JSON.stringify(dataArr)
}
}
Java
public class ProductRestController {
@PostMapping("/addPrdPriceData")
@ResponseBody
public Map<String, Object> addToCart(@NonNull @RequestBody
ProductData productData) {
}
}