参数包装

>s 有时候后端框架会将真实的返回类型进行封装,或者在拦截器统一处理,这样就会导致扫描接口的时候实际上只是数据字段,并不是整个返回类型,因此easyapi提供了通过页面来配置真实数据类型的操作。 我们的代码是这样的,接口返回User类型 ```java @RestController public class PacageController { //测试包装 @RequestMapping("/packageUser") public User packageUser(){ User u = new User(); u.setName("测试名称"); u.setAge(12); return u; } } ``` 但是,我们用了拦截器将返回值再次封装,这很合理,因为杂乱无章的返回值会让前端对到吐血 ```java @RestControllerAdvice public class MyResponseAdvice implements ResponseBodyAdvice { @Override public boolean supports(MethodParameter methodParameter, Class aClass) { return true; } @Override public Object beforeBodyWrite(Object o, MethodParameter methodParameter, MediaType mediaType, Class aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) { if(Result.class.isAssignableFrom(o.getClass())){ return o; } return Result.success(o); } } ``` 咱们的页面是这样的,并没有包装信息,当然通过**easyapi提供的拦截器**可以做到返回真实类型,但咱们本篇介绍另外一种方式 ![image.png](https://cos.easydoc.net/14057821/files/kyczf3xi.png) 点击查看示例 ![image.png](https://cos.easydoc.net/14057821/files/kyczgyi9.png) 模拟测试返回 ![image.png](https://cos.easydoc.net/14057821/files/kyczhnfm.png) 这就产生了不一致,对接人会很懵逼,所以此时我们只需要在**右上角设置**中添加包装即可,我们**开启响应参数包装**,并添加包装字段,将**data**字段设为**包装字段**(因为后端真实数据字段叫data) ![image.png](https://cos.easydoc.net/14057821/files/kyczk0td.png) 此时我们还需要将该**接口详情**中的包装开启(这个状态完全可以通过**easyapi拦截器**去按需配置),两个开启可以仅让指定接口包装 ![image.png](https://cos.easydoc.net/14057821/files/kyczpim6.png) 接下来再看接口响应示例,就会发现已经和真实返回类型一致了 ![image.png](https://cos.easydoc.net/14057821/files/kyczrbi3.png)