SpringCloud:微服务架构编码构建-消费者客户端模块80
建moudle---cloud-consumer-order80
在上一节的父工程中新建工程:cloud-consumer-order80
改pom
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>cloud6</artifactId>
<groupId>com.tinstu.cloud</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-consumer-order80</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.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>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>
写yaml
server:
port: 80
主启动
OrderMain80
@SpringBootApplication
public class OrderMain80{
public static void main(String[] args) {
SpringApplication.run(OrderMain80.class,args);
}
}
业务类
bean(和生产者的一样)
CommonResult
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CommonResult<T> {
private Integer code;
private String message;
private T data;
public CommonResult(Integer code,String message){
this(code,message,null);
}
}
Payment
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Payment implements Serializable { //继承这个接口实现对象序列化
private Long id;
private String serial;
}
config
ApplicationContextConfig
@Configuration
public class ApplicationContextConfig {
@Bean
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}
OrderController
@RestController
@Slf4j
public class OrderController {
public static final String PAYMENT_URL = "http://127.0.0.1:8001";
@Resource
private RestTemplate restTemplate;
@GetMapping("/consumer/payment/create")
public CommonResult<Payment> create(Payment payment){
return restTemplate.postForObject(PAYMENT_URL+"/payment/create",payment,CommonResult.class);
}
@GetMapping("/consumer/payment/get/{id}")
public CommonResult<Payment> getPayment(@PathVariable("id") Long id){
return restTemplate.getForObject(PAYMENT_URL+"/payment/get/"+id,CommonResult.class);
}
}
测试
get:
http://127.0.0.1/consumer/payment/get/1
post:
http://127.0.0.1/consumer/payment/create?serial=tinstu3
返回200,插入成功,但是数据库中没有数据
需要在生产者的controller的post请求的括号内加入 @RequestBody 注解,测试可以插入数据
阅读剩余
版权声明:
作者:Tin
链接:http://www.tinstu.com/2169.html
文章版权归作者所有,未经允许请勿转载。
THE END