使用java注解 加Spring AOP 处理接口异常逻辑的一个思路
2017-11-11 00:00
323 查看
摘要: java注解
后台暴露的接口往往都需要处理异常逻辑的返回 ,如果每个接口都加入了异常处理,重复的代码就会很多 。这时我们可以考虑把共性的处理逻辑抽出来 。
分析一下 处理逻辑流程,首先 捕获异常 , 获取异常信息, 记录异常信息, 返回异常状态码以及自定义给前台的异常信息。 抽出其中的共性问题 记录异常是必须的共用的 返回的异常状态码以及异常信息自定义 根据不同的场景 有可能是不同的 所以 可以作以下的注解定义:
接下来 使用aop 的环绕通知 来处理注解的 逻辑即可 这样 只要在接口方法上加入注解 即可处理 业务逻辑了
后台暴露的接口往往都需要处理异常逻辑的返回 ,如果每个接口都加入了异常处理,重复的代码就会很多 。这时我们可以考虑把共性的处理逻辑抽出来 。
分析一下 处理逻辑流程,首先 捕获异常 , 获取异常信息, 记录异常信息, 返回异常状态码以及自定义给前台的异常信息。 抽出其中的共性问题 记录异常是必须的共用的 返回的异常状态码以及异常信息自定义 根据不同的场景 有可能是不同的 所以 可以作以下的注解定义:
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface ResponseExceptionListener { /** * 错误状态码 默认500. * * @return the int */ int statusCode() default 500; /** * 错误信息 . * * @return the string */ String message() default ""; }
接下来 使用aop 的环绕通知 来处理注解的 逻辑即可 这样 只要在接口方法上加入注解 即可处理 业务逻辑了
相关文章推荐
- Javaweb-------mybatis+springmvc关于实体类使用注解的一个问题
- spring注解方式在一个普通的java类里面注入dao
- Java:使用 Java 开发的一个异常处理框架
- 在javaweb中使用另一个spring java project的数据接口
- 在maven项目中使用apache cxf中遇到异常 java.lang.ClassCastException: org.springframework.web.filter.CharacterEncodingFilter cannot be cast to javax.servlet.Filter
- java spring 使用注解来实现缓存
- JAVA--第十三周任务一封装一个求一元二次方程根的类SquareEquation,要求考虑解方程的异常,再编写一个窗口类EquationFrame。要求窗口使用三个文本框和一个文本区,其中三个文本框
- 游戏服务端中使用Servlet和Java注解的一个好设计
- 一个困扰很久的异常java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
- 使用CXF+spring创建一个web的接口项目
- 使用注解springmvc+spring+mybatis一个简单ajax例子
- (2)int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至数组前面并保持有序,返回值为原数据中第一个元素为0的下标。(尽可能不使用辅助空间且考虑效率及异常问题,注释规范且给出设计思路)
- 关于在struts2中使用java注解报异常 java.lang.reflect.InvocationTargetException
- Spring依赖注入——java项目中使用spring注解方式进行注入
- 一个程序员(Java工程师日记第二刊 使用接口注意事项)
- Java【多线程知识总结(6)】使用Runnable接口创建多线程,处理同一个资源
- Java【多线程知识总结(6)】使用Runnable接口创建多线程,处理同一个资源
- Java本地应用 使用spring 注解初始化
- 一个奇怪的异常,SSH使用注解方式
- 使用spring实现事务管理(@transactional)的遇到的两个异常:java.lang.noclassdeffounderror:org/objectweb.asm