1.在启动类上添加@EnableFeignClients({ "cn.xxx.*" })
注解,cn.xxx.*
指的是可呗Feign识别的接口所在的包路径。
2.创建接口定义需要调用有接口方法,并用@FeignClient(name="XXX",path = "xx/xx/xx")
表明该接口是为了跨服务调用暴露的接口。其中name指的是所调用接口的服务名,path指的是访问路径,有时候还需要使用@Component
注解使该接口被spring扫描到。
3.使用 @RequestMapping(“/XXX”)
注解修饰方法,其中/XXX
为所要调用服务的接口路径,方法名为调用时的方法。
举例:
暴露接口:
@Component(value = "iLogClient")
public interface ILogClient {
@RequestMapping(path = "/add",method = RequestMethod.POST ,consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
void addLog(@RequestBody Map map);
}
主类:
@SpringBootApplication
@EnableFeignClients({ "cn.test.*" })
public class DbServerApplication {
public static void main(String[] args) {
ConfigurableApplicationContext context = new SpringApplicationBuilder(
DbServerApplication.class).run(args);
// 写入PID
context.addApplicationListener(new ApplicationPidFileWriter());
System.out.println("当前服务启动成功");
}
}
调用:
@RequestMapping("/test")
public class Mytest{
@Autowired
private ILogClient iLogClient;
@RequestMapping("/get")
public void get(){
Map requestMap = new HashMap<>();
iLogClient.addLog(requestMap);
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)