1、导入HttpClinet的依赖包
1 <dependency> 2 <groupId>org.apache.httpcomponents</groupId> 3 <artifactId>httpcore</artifactId> 4 <version>4.4.6</version> 5 </dependency> 6 7 <dependency> 8 <groupId>org.apache.httpcomponents</groupId> 9 <artifactId>httpclient</artifactId> 10 <version>4.5.1</version> 11 </dependency> 12 13 <dependency> 14 <groupId>com.alibaba</groupId> 15 <artifactId>fastjson</artifactId> 16 <version>1.2.4</version> 17 </dependency> 18 19 <dependency> 20 <groupId>commons-httpclient</groupId> 21 <artifactId>commons-httpclient</artifactId> 22 <version>3.1</version> 23 </dependency>
2、编写post请求方法
public static String sendSetHeaderGetRequestByPostForJson(String url,Map<String,String> headMap,Map<String,Object> psotMap/*String appUid,String listMsgIds*/ ) throws Exception{ String result=""; try { //CloseableHttpClient httpclient = HttpClients.createDefault(); HttpClient httpclient = HttpClients.createDefault(); ResponseHandler<String> responseHandler = new BasicResponseHandler(); RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(6000).setConnectTimeout(6000).build();//设置请求和传输超时时间 HttpPost httpPost = new HttpPost(url); httpPost.setConfig(requestConfig); httpPost.addHeader(HTTP.CONTENT_TYPE, "application/json"); //httpPost.setHeader("Content-type", "application/json"); httpPost.addHeader(HTTP.CONTENT_TYPE, "text/json"); for(String key:headMap.keySet()){ httpPost.setHeader(key, headMap.get(key)); } //将参赛转成json字符串并设置json的编码UTF-8 StringEntity se = new StringEntity(JSONObject.toJSONString(psotMap),ContentType.APPLICATION_JSON); se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); httpPost.setEntity(se); String response= httpclient.execute(httpPost,responseHandler); JSONObject ret = JSONObject.parseObject(response); result=ret.toJSONString(); } catch (Exception e) { e.printStackTrace(); } return result; }
3、springMVC接收请求代码
@RequestMapping(value="/getIntegralConsumption2",method = RequestMethod.POST,produces="application/json;charset=UTF-8") @ResponseBody public R getIntegralConsumption2(@RequestBody AA aa,HttpServletRequest request) { String usernum = (String) request.getAttribute("usernum"); System.out.println(aa); return R.ok().put("1", "积分扣减成功"); }
4、测试方法
public static void test2(){
String host = "http://192.168.199.161:8080";
String url=host+"/integral/getIntegralConsumption2";
String token="eyJhbGciOiJIUzUxMiJ9.eyJyYW5kb21LZXkiOiJnMGVvaDciLCJzdWIiOiIzMDE0MTI5NiIsImV4cCI6MTUzNDYwMDAzNywiaWF0IjoxNTM0NTkyODM3fQ.L_cHcUpGkTWBxYJ_z4Zgrwka1yz36TUR3a9pP-OLZ4dmW-jOt8rECNG-9MK0XjylfMl2kBRc5_IX1dEnXDi2Jg";
try {
//header
Map<String,String> headerMap=new HashMap<String, String>();
headerMap.put("Authorization","Bearer "+token);
//普通参数
Map<String,Object> params=new HashMap<String,Object>();
params.put("integra","99");
params.put("orderId","可以了");
String info=sendSetHeaderGetRequestByPostForJson(url,headerMap,params);
System.out.println("返回结果:"+info);
//JSONObject jsonData = JSONObject.parseObject(info);
} catch (Exception e) {
e.printStackTrace();
}
}
5、用main方法测试即可,直接显示运行结果
接收端:AA [integra=99, orderId=可以了]
请求端:返回结果:{"1":"积分扣减成功","code":0,"msg":"success"}
浙公网安备 33010602011771号