首先添加依赖
<dependency>
<groupId>org.jodd</groupId>
<artifactId>jodd-http</artifactId>
<version>5.0.5</version>
</dependency>
这里我习惯配合fastJson使用 添加依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.49</version>
</dependency>
一般我们发送post请求
参数可以用map拼接
Map<String, Object> param = new HashMap<>();
param.put("pageNo", 1);
param.put("pageSize", 5);
发送请求
String url = "www.xx.com";
String body = HttpUtil.sendPostToJson("url", param);
返回数据转换格式
JSONObject jsonObject = JSON.parseObject(body);
然后就可以直接取结果啦
String result = jsonObject.get("result");
如果返回了列表
可以先转换为jsonArray
JSONArray jsonArray = JSONArray.parseArray(jsonObject.get("result").toString());
然后转换为collection
List<Object> result_ = JSON.parseObject(jsonArray.toJSONString(), new TypeReference<ArrayList<Object>>() {
})
HttpUtil类
package com.hqjl.ceplanserv.manager.autoEnrolment;
import com.alibaba.fastjson.JSON;
import jodd.http.HttpRequest;
import jodd.http.HttpResponse;
import java.util.Map;
/**
* @author chunying
* @Date: 2019/3/25 0025
*/
public class HttpUtil {
/**
* 发送Get请求
* @param url : 请求的连接
* @param params : 请求参数,无参时传null
* @return
*/
public static String sendGet(String url,Map<String,String> params){
HttpRequest request = HttpRequest.get(url);
if(params!=null) {
request.query(params);
}
HttpResponse response = request.send();
String respJson = response.bodyText();
return respJson;
}
/**
* 发送Post请求-json数据
* @param url : 请求的连接
* @param params : 请求参数,无参时传null
* @return
*/
public static String sendPostToJson(String url,Map<String,Object> params ){
HttpRequest request = HttpRequest.post(url);
request.contentType("application/json");
request.charset("utf-8");
//参数详情
if(params!=null) {
request.body(JSON.toJSONString(params));
}
HttpResponse response = request.send();
String respJson = response.bodyText();
return respJson;
}
/**
* 发送Post请求
* @param url : 请求的连接
* @param params : 请求参数,无参时传null
* @param paramsDatails : 参数详情,没有时传null
* @return
*/
public static String sendPost(String url,Map<String,Object> params ){
HttpRequest request = HttpRequest.post(url);
//参数详情
if(params!=null) {
request.form(params);
}
HttpResponse response = request.send();
String respJson = response.bodyText();
return respJson;
}
/**
* 发送Delete请求
* @param url : 请求的连接
* @param params : 请求参数,无参时传null
* @return
*/
public static String sendDelete(String url,Map<String,Object> params){
HttpRequest request = HttpRequest.delete(url);
if(params!=null) {
request.form(params);
}
HttpResponse response = request.send();
String respJson = response.bodyText();
return respJson;
}
}
本文介绍如何使用Jodd库发送HTTP请求,并结合FastJson处理请求结果。包括GET、POST、DELETE等请求方式,以及如何构建请求参数、解析响应数据。

被折叠的 条评论
为什么被折叠?



