失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > webservice restful类型接口的调用实例

webservice restful类型接口的调用实例

时间:2022-03-05 03:22:08

相关推荐

webservice restful类型接口的调用实例

独角兽企业重金招聘Python工程师标准>>>

因为项目是采用maven搭建的,所以先把所需要的jar包定义进来,我是采用apache的httpComponents第三方技术!如下:

<!-- httpcomponents --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpcore</artifactId></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpmime</artifactId></dependency><dependency><groupId>jaxen</groupId><artifactId>jaxen</artifactId></dependency>

其次就是写调用客户端(get方式):

@Testpublic void getOrderList() throws Exception {CloseableHttpClient httpClient = HttpClients.createDefault();HttpGet httpGet = new HttpGet("接口请求路径……");

httpGet.setHeader("Accept", "application/json");//如果要返回json结果,则需要设置此请求头信息

CloseableHttpResponse httpResponse;try {httpResponse = httpClient.execute(httpGet);HttpEntity entity = httpResponse.getEntity();System.out.println(IOUtils.toString(entity.getContent()));} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}

其次就是写调用客户端(POST方式):

导包都是一样,就是发送请求的实体不同 如下:

/* 获取用户留资信息接口:GetUserLeaveMsg */@Testpublic void GetUserLeaveMsg() throws Exception {CloseableHttpClient httpClient = HttpClients.createDefault();HttpPost httpPost = new HttpPost(URL + "?method=GetUserLeaveMsg");

//POST传递方式List<NameValuePair> nvps = new ArrayList<NameValuePair>();nvps.add(new BasicNameValuePair("date", "-12-01"));// yyyy-MM-ddnvps.add(new BasicNameValuePair("last_leave_msg_id", "0"));nvps.add(new BasicNameValuePair("CurPage", "1"));nvps.add(new BasicNameValuePair("PageSize", "50"));httpPost.setHeader("Accept", "application/json");httpPost.setEntity(new UrlEncodedFormEntity(nvps));CloseableHttpResponse httpResponse;try {httpResponse = httpClient.execute(httpPost);HttpEntity entity = httpResponse.getEntity();System.out.println(IOUtils.toString(entity.getContent()));} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}

还会有一种就是传Json的方式,我也一并罗列出来了供大家参考:

/*** 新闻资讯类接口* * @throws Exception* @throws UnsupportedEncodingException*/@Testpublic void newsTest() throws Exception {CloseableHttpClient httpClient = HttpClients.createDefault();HttpPost httpPost = new HttpPost("接口请求url……");httpPost.addHeader("Authorization", "Basic " + sign);httpPost.setHeader("Accept", "application/json");httpPost.setHeader("Content-Type", "application/json");CloseableHttpResponse httpResponse;try {

//通过alibaba的fastJson的jar包来转成json所需要的数据格式Map<String, Object> params = new HashMap<String, Object>();List<String> list = new ArrayList<String>();list.add("2348");list.add("163");

params.put("DealerId", 66934);params.put("TypeId", 1);params.put("SeriesIds", list);String data = JSON.toJSONString(params);System.out.println("data-->" + data);/* 构造请求数据 */StringEntity myEntity = new StringEntity(data, ContentType.APPLICATION_JSON);/* 设置请求体 */httpPost.setEntity(myEntity);httpResponse = httpClient.execute(httpPost);HttpEntity entity = httpResponse.getEntity();System.out.println(httpPost.getURI().toString());System.out.println(IOUtils.toString(entity.getContent()));} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}

就先写到这里了,还有通过SOAP协议定义的接口就下回再写,写得比较仓促难免会出错,如发现错误或者需要共同讨论的地方

如果觉得《webservice restful类型接口的调用实例》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。