项目结构附图如下:

1. 准备服务提供者
1.1 创建service-provider的项目
1.1.1 pom.xml如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.16.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
1.1.2 application.yml如下
server:
port: 8080
spring:
application:
name: post-get-provider
1.1.4 入口类App.java
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class,args);
}
}
1.1.5 接口类TestController.java,主要是为了给restTemplate提供访问的地址准备的。
@RestController
public class TestController {
@GetMapping("/get")
public String get() {
return "无参数 get";
}
@GetMapping("/get1")
public String get1(@RequestParam("name") String name) {
return "有参 get :" + name;
}
@GetMapping("/get2/{name}")
public List<User> get2(@PathVariable("name") String name) {
List<User> list = new ArrayList<>();
for (int i = 0; i < 4; i++) {
User user = new User();
user.setId(i);
user.setName("tom--" + i);
user.setHobby("cup-" + i);
list.add(user);
}
return list;
}
@GetMapping("/get3")
public String get3(@RequestParam("name") String name, @RequestHeader("token") String token) {
return "设置header的get: name: " + name + ",token:" + token;
}
@GetMapping("/get4")
public List<User> get4(@RequestParam("name") String name, @RequestHeader("token") String token) {
List<User> list = new ArrayList<>();
for (int i = 0; i < 4; i++) {
User user = new User();
user.setId(i);
user.setName("tom--" + i);
user.setHobby("cup-" + i);
list.add(user);
}
return list;
}
@GetMapping("/get5")
public User get5(@RequestParam("name") String name, @RequestHeader("token") String token) {
User user = new User();
user.setId(1111);
user.setName("tom");
user.setHobby("baskeball");
return user;
}
@GetMapping("/get6")
public Student<User> get6(@RequestParam("name") String name, @RequestHeader("token") String token) {
User user = new User();
user.setId(1111);
user.setName("tom");
user.setHobby(