Webclient springboot 使用 map 变量将值发布到 url

问题描述

我是 Springboot 的初学者。我的地图变量中有一些值,我需要将它从 Springboot 应用程序发布到外部 url

/**
 * Function to post data to external url
 * @param extracted
 * @return 
 */
private ResponseEntity<String> postData(Map<String,String> extracted) {

    WebClient webClient = WebClient.create("third party base url");
    String response =  webClient.post()
            .uri("/thirdPartyEndPoint")                     
            .accept(MediaType.APPLICATION_JSON )
            .contentType(MediaType.APPLICATION_FORM_URLENCODED)
            .retrieve()
            .body(extracted)
            .block();
    return new ResponseEntity<>(response,HttpStatus.OK);
}

上面代码提取变量会有

这样的数据
{
"Data 1": "1","Data 2": "0000000000000000000000000000","JSON Data": "{\"0\":{\"timeStamp\":\"Mon Jan 19 18:15:21 IST 1970\",\"value\":263.76},\"1\":{\"timeStamp\":\"Mon Jan 19 18:15:21 IST 1970\",\"2\":{\"timeStamp\":\"Mon Jan 19 18:15:21 IST 1970\",\"3\":{\"timeStamp\":\"Mon Jan 19 18:15:21 IST 1970\",\"value\":263.76}}","Data 3": "80725010",}

The method body(Map<String,String>) is undefined for the type WebClient.ResponseSpec

有人能指出我如何做到这一点吗?数据应该作为表单数据发布。还有如何在没有转义字符的情况下发布它?

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)