1.在工具类里添加方法
/**
* 发送Post请求
* @param url 请求地址
* @param jsonObject 参数
* @param encoding 指定编码
* @return body
*/
public static String postJson(String url, JSONObject jsonObject, String encoding) throws IOException{
String body = "";
//创建httpclient对象
CloseableHttpClient client = HttpClients.createDefault();
//创建post方式请求对象
HttpPost httpPost = new HttpPost(url);
//装填参数
StringEntity s = new StringEntity(jsonObject.toString(), "utf-8");
s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
"application/json"));
//设置参数到请求对象中
httpPost.setEntity(s);
//设置header信息
//指定报文头【Content-type】、【User-Agent】
httpPost.setHeader("Content-type", "application/json");
httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//执行请求操作,并拿到结果(同步阻塞)
CloseableHttpResponse response = client.execute(httpPost);
//获取结果实体
HttpEntity entity = response.getEntity();
if (entity != null) {
//按指定编码转换结果实体为String类型
body = EntityUtils.toString(entity, encoding);
}
EntityUtils.consume(entity);
//释放链接
response.close();
return body;
}
2.调用方法
@Value("${application.findUser}")
private String url;
@Autowired
// private UserService userService;
@PostMapping("/post")
public JSONObject addUser() throws IOException {
JSONObject jsonObject=new JSONObject();
jsonObject.put("companyName","筑建云");
jsonObject.put("feedbackContent","55555666");
jsonObject.put("housingEvaluation","罗江");
jsonObject.put("housingPhonenumber","15808510571");
jsonObject.put("nickName","宋小宝");
jsonObject.put("phonenumber","18111831310");
String jsonStr = JSONObject.toJSONString(jsonObject);
String s = HttpUtils.postJson(url,jsonObject,"utf-8");
JSONObject jsonObject1 = jsonObject.parseObject(s);
return jsonObject1;
// System.out.println(s);
// userService.addUser(user);
}
3.在application.yml里配置url地址
application:
findUser: http://192.168.0.10:8080/feedback/feedback