RestTemplate
package com.gx.springcloud.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
/**
* @Author GX
* @Date 2020-03-20 16:21
*/
@Configuration
public class AppliacationContextConfig {
@Bean
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}
写controller
package com.gx.springcloud.controller;
import com.gx.springcloud.entity.Payment;
import com.gx.springcloud.entity.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
/**
* @Author GX
* @Date 2020-03-20 15:27
*/
@RestController
@Slf4j
@RequestMapping("/order")
public class OrderController {
@Autowired
RestTemplate restTemplate;
@GetMapping("/payment/create")
public Result create(Payment payment){
return restTemplate.postForObject("http://localhost:8001/payment/create",payment,Result.class);
}
@GetMapping("/payment/get/{id}")
public Result create(@PathVariable Long id){
return restTemplate.getForObject("http://localhost:8001/payment/get/"+id,Result.class);
}
}
RestTemplate的post调用传参,需在接收的接口在参数前加@RequestBody注解
如果idea没有自动出现Run Dashboard,在项目.idea的workspace.xml中添加如下图:
重启idea自动出现