本篇代码均已上传到GITHUB,https://github.com/IloveZiHan/restfultemplate.git
介绍
我们之前都使用过HttpClient来发送HTTP请求,但我们很多时间都需要将HttpClient请求或者响应的数据转换为Java对象,HttpClient需要我们自己手动来解析。我们今天要介绍的Spring REST Template比HttpClient用起来更加方便简洁。
背景
案例分为两个部分:
CRM_MANAGEMENT——后台主要提供RESTFUL Service服务,因为尽量使案例简单,所以数据部分是直接使用内存中的列表来模拟
PORTAL——门户,也就是前端系统,用来处理浏览器提交的请求,接收到用户请求会使用
Spring REST Template来提交RESTFUL Service请求

环境说明
本案例基于Maven构建,使用Spring Boot 2.x开发
可以选择IDEA或者Eclipse导入案例运行
项目开发
CRM_DOMAIN实体
POM依赖
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>resttemplate_common</artifactId>
<groupId>com.itheima</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>crm_domain</artifactId>
<packaging>jar</packaging>
</project>
User实体类
package com.itheima.crm.domain; public class User { private Integer id; // id private String username; // 用户名 private String password; // 密码 public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public boolean matchUsernameAndPassword(String username, String password) { if(this.username.equals(username) && this.password.equals(password)) { return true; } else { return false; } } }
ResResult——封装响应结果
package com.itheima.crm.domain; /** * 响应结果 */ public class ResResult { private Boolean success; // 是否操作成功 private String message; // 消息 public ResResult() { } public ResResult(Boolean success, String message) { this.success = success; this.message = message; } public Boolean getSuccess() { return success; } public void setSuccess(Boolean success) { this.success = success; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
CRM_MANAGEMENT后台
POM依赖
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>crm_management</artifactId>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<

本文通过一个简单的例子介绍了如何使用Spring Boot发布REST Service,并利用Spring REST Template进行调用。CRM_MANAGEMENT作为服务提供方,PORTAL作为调用方。详细讲解了各部分的开发,包括POM依赖、Service接口、Controller开发等。最后,总结了Spring REST Template在调用REST服务时的便利性。

2019

被折叠的 条评论
为什么被折叠?



