@PostMapping("dc")
public String dc(HttpServletRequest request, @RequestBody User user){
List<String> services = discoveryClient.getServices();
services.forEach(item->{
logger.info("Service:"+item+":");
});
String name = user.getName();
return "service"+services+name;
}
以上是服務提供方的代碼,使用@RequestBody接受請求體中的參數
@GetMapping("/consumer")
public String dc(){
User user = new User();
user.setName("mck1");
user.setAge(1);
return eurekaClient.dc(user);
}
@FeignClient("eureka-client")
public interface EurekaClient {
@PostMapping("/dc")
public String dc(@Param("user") User user);
}
以上是服務調用方的代碼,使用了@Param注解來發送參數(經過我測試發現,這個注解中的名字隨便寫不影響接收,說明@RequestBody是接收請求體中的所有)
以上是post請求的形式
get請求的形式不能用這種方式,get請求應該用@RequestParam注解來傳送普通參數
