java HTTP协议传数据

java HTTP协议传数据

本文参考链接:https://blog.csdn.net/baidu_41885330/article/details/80824041
要实现一个系统调用另一个系统的接口,并获取该接口的数据。

1. 首先为两个项目分配不同的端口号

在application.properties里修改项目端口号
在这里插入图片描述
这里我将被调用接口的系统的端口号设为8081(叫做分系统),调用接口的系统的端口号设为8080(叫做主系统)。
这样就可以通过不同的端口号同时访问两个系统。

2.为分系统设置http协议

因为主系统需要调用分系统的接口,所以要为分系统设置http协议。

设置步骤如下:
在这里插入图片描述
在这里插入图片描述

3.在分系统中写接口

我写了一个查询分系统数据库的接口/data/select,这里不做赘述。
主系统可以通过 http://localhost:8081/data/select 访问这个接口。

4.为主系统部署http

在主系统的pom.xm里添加以下代码:

 <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.5</version>
        </dependency>

5…在主系统中写调用接口的代码

这里返回的值得list类型,可以根据自己需要更改数据类型,例如int型就改为integer,string类型可以参考文章开头的参考网址。

  1. controller层代码
public List<Map<String, Object>> transShip(){
        String selectURL = "http://localhost:8081/data/select";
        HttpMethod method = HttpMethod.GET;
        List<Map<String, Object>> list = new ArrayList<>();
        list = this.transService.client(selectURL,method,list);
  1. service层代码
List<Map<String, Object>> client(String url, HttpMethod method, List<Map<String, Object>> params);
  1. serviceimpl代码
 public List<Map<String, Object>> client(String url, HttpMethod method, List<Map<String, Object>> params){
        RestTemplate template = new RestTemplate();
        ResponseEntity<List> response1 = template.getForEntity(url,List.class);
        return response1.getBody();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值