rest webclient post调用

JacksonJsonProvider provider = new JacksonJsonProvider();
List<JacksonJsonProvider> providers = 
	        	new ArrayList<JacksonJsonProvider>();
providers.add(provider);


WebClient client = WebClient.create(url, providers);
client.header("SOAPAction", "");
client.accept("application/json").type("application/json");

Map<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("list", list);						
dataMap.put("name", name);	
dataMap.put("sex", sex);				

Gson gson=new Gson();
String param = gson.toJson(dataMap);

String resultStr= client.post(param, String.class);

Map<String,Object> result= gson.fromJson(resultStr, new TypeToken<Map>(){}.getType());

https://blog.csdn.net/u013313550/article/details/53408580

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WebClient是Spring框架中的一个用于进行HTTP请求的非阻塞式客户端。它可以用来发送异步的POST请求。 为了使用WebClient发送异步的POST请求,你需要进行以下几个步骤: 1. 创建WebClient对象:使用`WebClient.create()`方法创建一个WebClient对象。 2. 设置请求URL和参数:使用`.uri(url)`方法设置请求的URL,使用`.body(BodyInserters.fromObject(params))`方法设置请求的参数。在这个例子中,`params`是一个包含请求参数的Map对象。 3. 设置请求头信息:使用`.contentType(MediaType.APPLICATION_FORM_URLENCODED)`方法设置请求的内容类型。在这个例子中,使用的是表单形式的请求。 4. 发送请求并获取响应数据:使用`.retrieve().bodyToFlux(Map.class)`方法发送请求并获取响应数据。这个方法返回一个`Flux<Map>`对象,你可以对这个对象进行订阅来处理异步返回的响应。 下面是一个示例代码,展示了如何使用WebClient发送异步的POST请求并处理响应: ```java String url = configStorage.getApiUrl(WxCpApiPathConsts.Tp.GET_SUITE_TOKEN); Map<String, String> params = new HashMap<String, String>(); params.put("suite_id", suiteId); params.put("suite_secret", suiteSecret); params.put("suite_ticket", suiteTicket); WebClient client = WebClient.create(); Flux<Map> mapFlux = client.post() .uri(url) .contentType(MediaType.APPLICATION_FORM_URLENCODED) .body(BodyInserters.fromObject(JSON.toJSONString(params))) .retrieve() .bodyToFlux(Map.class); mapFlux.subscribe(map -> System.out.println(map.toString()), Throwable::printStackTrace); ``` 在这个示例中,`mapFlux.subscribe()`方法用来订阅异步返回的响应,当响应到达时,会执行对应的回调函数。你可以在回调函数中处理响应数据或执行后续操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Spring WebClient,异步POST请求代码段](https://blog.csdn.net/sbin456/article/details/109615201)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [SilverLight学习笔记--WebClient异步请求](https://blog.csdn.net/starcrm/article/details/84969094)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值