調(diào)用示例)
前言假設(shè)我們當(dāng)前有兩個(gè)服務(wù)服務(wù)A服務(wù)B實(shí)現(xiàn)效果服務(wù)B關(guān)聯(lián)綁定服務(wù)A的API能夠遠(yuǎn)程調(diào)用以下提供個(gè)Demo以供參考服務(wù)A因?yàn)榉?wù)A是被調(diào)方故只需有接口就可以了。packagecom.xiaobai.feign.controller;importorg.springframework.web.bind.annotation.*;/** * Author xiaobai * Date 2023/6/8 15:08 * Title: HelloController * Package com.xiaobai.feign.controller * description: 生產(chǎn)者服務(wù) 接口 * */RestControllerRequestMapping(/hello)publicclassHelloController{GetMapping(/test)publicStringtestNoParam(){returnhello feign;}GetMapping(/test/{param})publicStringtestParam(PathVariableStringparam){returnhello feign, say param;}}服務(wù)B啟動(dòng)類添加注解EnableFeignClients以開啟 Feign 功能。packagecom.xiaobai;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.cloud.openfeign.EnableFeignClients;/** * Author xiaobai * Date 2023/6/8 15:08 * Title: BStartApp * Package com.xiaobai * description: 啟動(dòng)類 * */EnableFeignClients//加這個(gè)注解SpringBootApplicationpublicclassBStartApp{publicstaticvoidmain(String[]args){SpringApplication.run(BStartApp.class,args);}}綁定遠(yuǎn)程服務(wù)packagecom.xiaobai.fegin;importorg.springframework.cloud.openfeign.FeignClient;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.PathVariable;/** * Author xiaobai * Date 2023/6/8 15:14 * Title: HelloFeignService * Package com.xiaobai.fegin * description: 消費(fèi)者服務(wù) feign接口實(shí)現(xiàn)類 * ######### * 這個(gè)類是重點(diǎn)哦 * 其實(shí)這個(gè)類相當(dāng)于就是代理了服務(wù)A的接口所以請(qǐng)求方式、返回值、函數(shù)名、所攜帶的參數(shù)等都得統(tǒng)一并且映射的url路徑得寫調(diào)用接口的全路徑。 */FeignClient(nameservice-a)//被調(diào)服務(wù)名publicinterfaceHelloFeignService{GetMapping(/service-a/hello/test)StringtestNoParam();/** * 映射的url這里路徑得寫調(diào)用接口的全路徑 * return */GetMapping(/service-a/hello/test/{param})StringtestParam(PathVariableStringparam);}消費(fèi)者接口packagecom.xiaobai.fegin.controller;importcom.xiaobai.fegin.HelloFeignService;importorg.springframework.web.bind.annotation.*;importjavax.annotation.Resource;/** * Author xiaobai * Date 2023/6/8 15:11 * Title: HelloFeignController * Package com.xiaobai.fegin.controller * description: 消費(fèi)者服務(wù) 接口 */RestControllerRequestMapping(/hello)publicclassHelloFeignController{ResourceprivateHelloFeignServicehelloFeignService;GetMapping(/test)publicStringtestNoParam(){returnhelloFeignService.testNoParam();}GetMapping(/test/{param})publicStringtestParam(PathVariableStringparam){returnhelloFeignService.testParam(param);}}效果