微服务接口发现:
服务启动时,设置定时任务,在服务完全启动后,扫描编译产物,使用反射机制扫描带有@RestController注解的class,拿到Class字节码后在这份字节码中获取带有@RequestMapping,@GetMapping,@PostMapping,@PutMapping,@DeleteMapping的方法,然后解析方法的具体内容,拼接URL后,统一入库。
以此保证每一次服务启动的时候,会动态更新目前已有的接口服务,为下一步的统一管理奠定基础
统一管理
权限控制
自定义注解 @HasRole,用来为方法、类添加注解,提供权限控制,启动服务后,使用扫描@HasRole获取接口需要的权限,采用AOP的方式结藕,与上述接口发现结合,形成统一权限控制
接口管理
数据库里有六张表,对应 Role、Authority,Role代表角色,Authority代表权限。是一个符合3nf的关系模型