获取java返回的数据_java后台调用接口并获取返回值

这篇博客展示了如何使用Java通过HttpPost发送请求到指定URL,并将JSON格式的实体转换为NameValuePair传递。在接收到响应后,文章详细解释了如何检查状态码并解析返回的JSON字符串。代码中使用了Apache HttpClient库进行HTTP请求操作,同时利用FastJSON将对象转换为JSON格式。
摘要由CSDN通过智能技术生成

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import org.apache.http.HttpEntity;

import org.apache.http.NameValuePair;

import org.apache.http.StatusLine;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.util.EntityUtils;

import org.springframework.data.repository.query.QueryMethod;

import com.alibaba.fastjson.JSON;

import com.fasterxml.jackson.core.JsonParseException;

import com.fasterxml.jackson.databind.DeserializationFeature;

import com.fasterxml.jackson.databind.JsonMappingException;

import com.fasterxml.jackson.databind.ObjectMapper;

import com.flatform.fklc.domain.FkLogin;

import java.io.IOException;

public class EntityZDUtil {

//连接的网址,这里假装一个

private static final String SERVICE_URL = "http://192.122.91.111:8080/test/tester/tttest.do";

//方法

public static String Test() {

CloseableHttpClient httpClient = HttpClients.createDefault();

try {

HttpPost httpPost = new HttpPost(SERVICE_URL);

List nvps = new ArrayList();

//根据需要传输的参数建立实体FkLogin

//需要的数据格式为

data={

"uname": "admin",

"upwd": "12345"

}

FkLogin fkLogin = new FkLogin();

fkLogin.setUname("admin");

fkLogin.setUpwd("12345");

//将实体(List之类的也行)转化为Json传过去

nvps.add(new BasicNameValuePair("data", JSON.toJSONString(fkLogin)));

httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));

CloseableHttpResponse response = httpClient.execute(httpPost);

try {

StatusLine statusLine = response.getStatusLine();

int statusCode = statusLine.getStatusCode();

//200为请求成功(只是请求成功,如进行查询,连上了,查询失败也是200,具体成功与否看返回的数据)

if (statusCode == 200) {

//获取返回值

HttpEntity entity = response.getEntity();

String mes = EntityUtils.toString(entity, "UTF-8");

return mes;

} else {

return null;

}

} catch (Exception e) {

e.printStackTrace();

} finally {

response.close();

}

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

}

如果出现请求头不对的情况,可以把蓝色那段换成下面的

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值