HttpClient携带请求JSON数据访问HTTP接口得到响应JSON数据详解编程语言

package com.jake.myproj.controller; 
 
import com.alibaba.fastjson.JSON; 
import org.apache.http.HttpStatus; 
import org.apache.http.client.methods.CloseableHttpResponse; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.entity.StringEntity; 
import org.apache.http.impl.client.CloseableHttpClient; 
import org.apache.http.impl.client.HttpClients; 
import org.apache.http.util.EntityUtils; 
import org.springframework.web.bind.annotation.RequestBody; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 
 
import java.util.Map; 
 
@RestController 
@RequestMapping(value = "/rabbit") 
public class BpmToRabbitController { 
 
    private static final String RABBIT_API_URL = "http://localhost:8082/api/rfc/json"; 
 
    @RequestMapping(value = "/api") 
    public Map<String, Object> visitRabbitApi(@RequestBody Map<String, Object> requestMap) throws Exception { 
        CloseableHttpClient client = HttpClients.createDefault(); 
        HttpPost httpPost = new HttpPost(RABBIT_API_URL); 
        String requestJson = JSON.toJSONString(requestMap); 
        StringEntity stringEntity = new StringEntity(requestJson); 
        stringEntity.setContentEncoding("UTF-8"); 
        stringEntity.setContentType("application/json"); 
        httpPost.setEntity(stringEntity); 
        CloseableHttpResponse httpResponse = client.execute(httpPost); 
        if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { 
            String responseJson = EntityUtils.toString(httpResponse.getEntity()); 
            Map<String, Object> responseMap = JSON.parseObject(responseJson); 
            return responseMap; 
        } 
        return null; 
    } 
 
} 
 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/19595.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论