您的位置:首页 > 编程语言 > Java开发

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

2018-03-10 13:29 429 查看

发布服务,简单的使用一个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请求,返回包含特定资源URL的HTTP头
 
optionsForAllow() 发送HTTP OPTIONS请求,返回对特定URL的Allow头信息
 
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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐