使用Spring Boot发布服务和调用服务

发布服务,简单的使用一个RequsetMapping注解发布:

如下:

@RequestMapping("/LocalUploadCustomerServer")
public void LocalUploadCustomerServer() throws Exception {
    
}

调用服务

1、如果要把本地数据发往接口方,则使用Post

 RestTemplate restTemplate = new RestTemplate();
restTemplate.postForObject(url,Json,String.class);

2、在服务端接收参数(一定要在参数前写@RequestBody 不然接收不到,困扰了好久)

@RequestMapping(value = "/LocalUploadEmployeeServer", produces = "text/html;charset=UTF-8")
    public void localUploadEmployeeServer(@RequestBody String json) {
        employeeService.updateEmployeeCloud(json);
    }

3、乱码问题

    可以设置个头信息,这样可以防止数据传输乱码

     HttpHeaders headers = new HttpHeaders();
    headers.set("Accept-Charset", "utf-8");
    headers.set("Content-type", "application/json; charset=utf-8");  //header的规定
    HttpEntity<String> formEntity = new HttpEntity<String>(json, headers);
    restTemplate.postForObject(url,formEntity,String.class);

4、RestTemplate 请求方式详解

delete() 在特定的URL上对资源执行HTTP DELETE操作

 

exchange() URL上执行特定的HTTP方法,返回包含对象的ResponseEntity,这个对象是从响应体中 映射得到的

 

execute() URL上执行特定的HTTP方法,返回一个从响应体映射得到的对象

 

getForEntity() 发送一个HTTP GET请求,返回的ResponseEntity包含了响应体所映射成的对象

 

getForObject() 发送一个HTTP GET请求,返回的请求体将映射为一个对象

 

postForEntity() POST 数据到一个URL,返回包含一个对象的ResponseEntity,这个对象是从响应体中映射得 到的

 

postForObject() POST 数据到一个URL,返回根据响应体匹配形成的对象

 

headForHeaders() 发送HTTP HEAD请求,返回包含特定资源URLHTTP

 

optionsForAllow() 发送HTTP OPTIONS请求,返回对特定URLAllow头信息

 

postForLocation() POST 数据到一个URL,返回新创建资源的URL

 

put() PUT 资源到特定的URL

例子

1、本地向服务器发送数据

@RequestMapping("/LocalUploadCustomerServer")
public void LocalUploadCustomerServer() throws Exception {
    List<Customer> list=cs.selectAllCustomer();

    RestTemplate restTemplate = new RestTemplate();
    String json=JSONArray.fromObject(list).toString();
    //服务器IP地址
    String url="http://"+ip+"/LocalUploadCustomerServer";
    //处理中文乱码
    HttpHeaders headers = new HttpHeaders();
    headers.set("Accept-Charset", "utf-8");
    headers.set("Content-type", "application/json; charset=utf-8");  //header的规定
    HttpEntity<String> formEntity = new HttpEntity<String>(json, headers);
    restTemplate.postForObject(url,formEntity,String.class);
}


2、本地调用向服务器接收数据(因为都是本地调用的)
    @RequestMapping("/ServerDownloadFacheLocal")
    public void ServerDownloadFacheLocal() throws IOException {
         RestTemplate restTemplate = new RestTemplate();
         List<Fache> fachesList= restTemplate.postForObject("http://"+ip+"/ServerDownloadFacheLocal",List.class,List.class);
         facheService.updateFacheCould(fachesList);

    }

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值