企业级API网关
API网关就是用来代替控制器层 Controller,使用API网关直接调用Service层
在Service层加 @APIMapping
http://localhost:8080/api?method=XX¶m=XX
API store : 存储所有带有APIMapping 的类
存储的对像为 APIRunnable,
apiName, targetMethod, target, 放到一个Map里
Controller
1. 接收HTTP参数
2. 把HTTP参数字符串封装成java 对象
3. 调用服务方法
4, 将返回结果进行Json序列化封装
API网关要做的事情:
1. 验证系统参数合法性
例如: apiName 或者 method 为空,则抛一个异常
2. 验证业务参数合法性
3. 业务参数转换成java 对象
4. 调用相对应的Service类的方法
5. 拿到返回结果,封装成json
6. 异常统一处理,封装异常,返回
执行顺序: PIGatewayServlet===>API handle ===> store
String name=applicationConext.getBeanDefinitionNames
Class<?> type= applicationContext.getType(name)