spring cloud服务之间怎么调用

2025-03-22 22:37:56
推荐回答(1个)
回答1:

比如有一个服务如下

@EnableEurekaClient
@SpringBootApplication
@RestController
public class EurekaClientApplication {

   @Value("${server.port}")
   String port;
   @RequestMapping("/hi")
   public String home(@RequestParam String name) {
      return "hi "+name+",i am from port:" +port;
   }


   public static void main(String[] args) {
      SpringApplication.run(EurekaClientApplication.class, args);


   }
}

这个服务名为:EurekaClient

----------------------------------------------------------------------------------------------

调用采用以下方式:

定义一个借口,注解@FeignClient(value = "EUREKACLIENT")

@Service
@FeignClient(value = "EUREKACLIENT")//服务名
public interface SchedualServiceHi {

    @RequestMapping(value = "/hi",method = RequestMethod.GET)
    String sayHiFromClientOne(@RequestParam(value = "name") String name);

}
@RestController
public class HiController {

    @Autowired
    SchedualServiceHi schedualServiceHi;

    @RequestMapping(value = "/hi",method = RequestMethod.GET)
    public String sayHi(@RequestParam String name){
        return schedualServiceHi.sayHiFromClientOne(name);
    }
}