[英]RestTemplate for @RequestBody and @RequestParam
我正在嘗試使用 RestTemplate 像這樣調用 POST api:
RequestorParam test = new RequestorParam();
test.setScopeMcg("MCG");
test.setSituatedDealIds(situatedDealIds);
String url = "http://localhost:" + serverPort + "/retrieveAttributes";
ResponseEntity<SituatedDeals> response = restTemplate.postForEntity(url, test, SituatedDeals.class);
controller 的代碼是這樣的;
@PostMapping(value = "/retrieveAttributes", produces = "application/json")
@ResponseBody
@Duration
public SituatedDeals retrieveAttributes(
@RequestParam String scopeMcg,
@RequestBody SituatedDealIds situatedDealIds
) {
log.info("success")
}
我的要求很糟糕,有人可以幫忙嗎?
根據您的 controller 代碼,您實際上沒有返回任何類型的響應實體SituatedDeals
,只是將其記錄為成功。 這可能是null
object 響應的原因。
scopeMcg
是一個請求參數,因此您應該以請求參數格式傳遞它,即http://localhost:8080/retrieveAttributes?scopeMcg=MCG
參考: Spring 請求參數
您的test
Object 是您的 post 請求的實際有效負載,其類型應為 SiteDealIds object。 參考: 實體的 Rest-Template 帖子
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.