实践spring自定义返回格式

step 1  查看springmvc下的一些处理器解释器:

下面以RequestResponseBodyMethodProcessor为例

step2 :

查看接口继承实现关系 

RequestResponseBodyMethodProcessor----->AbstractMessageConverterMethodProcessor---->HandlerMethodReturnValueHandler


HandlerMethodReturnValueHandler为顶层接口,需要去实现这两个方法。

查看RequestResponseBodyMethodProcessor具体实现如下:


具体处理如下:


以其中一个实现为例:

在MappingJackson2Http没有看到write的实现则往上层找找看

AbstractJackson2HttpMessageConverter中的write

至此,RequestResponseBodyMethodProcessor的处理返回值流程完毕,那么我们来自己实现下自定义的返回体。

仿照RequestResponseBodyMethodProcessor来试试看 

首先我们根据上面源码可知,通过一些方法上的注解可以来判断是否支持处理返回值,那么我们自定义一个annotation interface



自定义封装格式类


自己定义一个处理器来复写RequestResponseBodyMethodProcessor处理器的处理条件和处理方式


向注册自己的处理器


启动下项目找个接口试试看是否能成功

1、添加注解返回:

2、注释注解则不回去处理格式

结果ok

你可能感兴趣的:(实践spring自定义返回格式)