第12课、创建子类模块客户端

创建子模块的(铁打不动的)过程:

1 创建module;2修改pom文件;3 编写yml;4 编写主启动类;5编写业务代码;6测试;




1 创建module;


SpringCloud实战 - 第12课、创建子类模块客户端

2修改pom文件;

<code>
<project> 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>parentcloud/<artifactid>
<groupid>com.znrt.springcloud/<groupid>
<version>1.0-SNAPSHOT/<version>
/<parent>
<modelversion>4.0.0/<modelversion>

<artifactid>cloud-client01/<artifactid>
<dependencies>

<dependency>
<groupid>org.springframework.boot/<groupid>
<artifactid>spring-boot-starter-web/<artifactid>
/<dependency>

<dependency>
<groupid>org.springframework.boot/<groupid>
<artifactid>spring-boot-starter-actuator/<artifactid>
/<dependency>

<dependency>
<groupid>org.springframework.boot/<groupid>
<artifactid>spring-boot-devtools/<artifactid>
<scope>runtime/<scope>
<optional>true/<optional>
/<dependency>

<dependency>
<groupid>org.projectlombok/<groupid>
<artifactid>lombok/<artifactid>
<optional>true/<optional>
/<dependency>

<dependency>
<groupid>org.springframework.boot/<groupid>

<artifactid>spring-boot-starter-test/<artifactid>
<scope>test/<scope>
/<dependency>
/<dependencies>

/<project>/<code>

3 编写yml;

<code>server:
port: 80/<code>

4 编写主启动类;

包名建议和服务模块一致 com.znrt.springcloud

<code>@SpringBootApplication
public class CloudClient01 {
public static void main(String[] args) {
SpringApplication.run(CloudClient01.class,args);
}
}/<code>

5编写业务代码;

5.1复制pojo


SpringCloud实战 - 第12课、创建子类模块客户端


SpringCloud实战 - 第12课、创建子类模块客户端


5.2创建配置类 在加载boot模块的时候能初始化RestTemplate

<code>/**
* @Author s.wong
* @Create 2020-04-06-13:03
* @Description 客户端配置类
*/
@Configuration
public class ApplicationContextConfig {
@Bean

public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}/<code>

5.3编写controller代码,由于客户端只是负责调用,所以没有servic和dao层

<code>/**
* @Author s.wong
* @Create 2020-04-06-12:50
* @Description 客户端模块 的controller类
*/
@RestController
@Slf4j
public class ClientController {

public static final String URL_PREFIX = "http://localhost:8001/";

@Resource
private RestTemplate restTemplate;

@GetMapping("/client/create")
public CommonResult create(Payment payment){
return restTemplate.postForObject(URL_PREFIX+"/payment/create/",payment,CommonResult.class);
}

@GetMapping("/client/get/{id}")
public CommonResult getPaymentById(@PathVariable("id") Long id){
return restTemplate.getForObject(URL_PREFIX+"/payment/get/"+id,CommonResult.class);
}

}/<code>
<code>//服务端controller 代码修改 
@PostMapping("/payment/create")
public CommonResult create(@RequestBody Payment payment){
int i = paymentService.create(payment);
log.info("create 方法的执行结果是:"+i);
log.info("测试热部署");
log.info("测试热部署2222");
if(i>0){
return new CommonResult(200,"执行成功",i);
}else{
return new CommonResult(401,"添加方法执行失败");

}
}/<code>

6测试;


SpringCloud实战 - 第12课、创建子类模块客户端


分享到:


相關文章: