⑤. 订单模块(cloud-consumer-order80)
前言:
(1). RestTemplate提供了多种便捷访问远程Http服务的方法,是一种简单便捷的访问restFul服务模板类,是Spring提供的用于访问Rest服务的客户端模板工具集
(2). restTemplate.postForObject(url+"/create",payment,CommonResult.class)
(3). restTemplate.getForObject(url+"/get/"+id,CommonResult.class)
①. pom.xml
<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> </dependency> </dependencies>
②. application.yml
server: port: 80
③. OrderMain80
@SpringBootApplication public class OrderMain80 { public static void main(String[] args) { SpringApplication.run(OrderMain80.class,args); } }
④. Payment | CommonResult
@Data @NoArgsConstructor @AllArgsConstructor public class Payment { private Long id; private String serial; }
@Data @NoArgsConstructor @AllArgsConstructor public class CommonResult<T> { private Integer code; private String message; private T data; }
⑤. ApplicationContextConfig
@Configuration public class ApplicationContextConfig { @Bean public RestTemplate getRestTemplate(){ return new RestTemplate(); } }
⑥. OrderController
@SuppressWarnings("all") @RestController @RequestMapping("/consumer") @Slf4j public class OrderController { @Autowired private RestTemplate restTemplate; private static final String url="http://localhost:8001/payment"; @PostMapping("/payment/create") public CommonResult<Payment> create(@RequestBody Payment payment){ log.info("****新增****"); return restTemplate.postForObject(url+"/create",payment,CommonResult.class); } //http://localhost:8001/payment/get/32 @GetMapping("/payment/get/{id}") public CommonResult<Payment>get(@PathVariable Long id){ return restTemplate.getForObject(url+"/get/"+id,CommonResult.class); } }