粉丝7592获赞3.8万

我们今天就来讲一下如何通过实现 request board advice 这个接口达到以下目的。在 control advice 中呢,实现打印 post 请求的 uil 和入口。方法。在 control advice 中呢,实现打印 post 请求的 request body 中的入餐, 我们来看一下效果,那我这边写了一个收入 name 这么一个请求,我们用 postman 来调用一下这个请求,看看会打印出什么东西来。好,我这边输入陈轩一棵树作为入餐,调用一下这个请求。好,可以看到返回,这就是我是中国人,我的名字是陈轩一棵树。那在我们的控制台呢,输出这么几个 首先请求的 uil, 然后输出请求的入口就是这个方法。最后呢,输出请求的入餐, ok, 我们来看一下具体实现。那首先是这个返回值里面的这个我的名字,这句话,这句话的话其实就是我们之前视频中也提到的,就我这边只是一个字串拼接,没有什么其他东西,那重点是买 ctrl x 这个类,那在这个类里面呢, 有那么几个点要注意。首先我们实现了这个 quest body 的 ys 这个接口,那这个接口呢?有四个方法是需要我们重写的。那首先这个 support 方法, 那这个 support 方法呢?就是根据注解来说,它就是首先调用的,去决定我这个 interceptor 是否会被启用,那我们这边返回处就表示我这个 interrupter 是需要被启用的。 那接下来三个方法就分别是 before body read, 就我在读这个 body 内容之前要做什么事情,那第二个就是 after body read, 就我在读完这个 body 以后要做什么事情,那第三个的话就是 handle empty body, 就是我这个 body 为空的时候要做的一些事情。 那这边还要注意的是,我们这边是加 request ctrl x 这个注解的,然后我们再来具体看下这个方法。呃,刚才我们的 u i l 打印和请求入口打印,就是在这个 before both read 里面打印的,那具体的东西就是其实我是先获取了注解里面的 value, 然后把这个 value 打印出来了,然后再获取了这个 parameter 这个 executable 就它执行体,然后就把这个具体执行方法给打印出来了,然后就是做这个 afterboard read 这个方法里面动作,也就是这里有我们打印出来的请求参数,就这个 body 里面东西嘛,这边需要注意的是,我这里的 body 是依赖于前面这个 request body 注解的,就是我们这边的 request body 注解,如果你没这个注解,那这些重写的方法是都不会进来的。那最后一个呢,就是很多 mt body, 就是你 body 里面什么都没有的时候,他会跑到这个里面来进行一个对应的输出。好的,我们总结一下,首先我是在这个 ctrl 请求里面用了 request body 这个注解, 然后去自己实现了一个 cross body ys 这个接口,然后将里面的对应方法进行重写,同时呢这个时间类上面要加上有 cross ctrl 这个注解。最后呢就实现我们刚才看到的有一个请求进来会打印他的 url 入口以及对应的参数,那这一面你也可以根据自己的需求去做些其他事情, 只不过他切入点就是在包队读取前和读取后。好的,本期的视频就到这里,欢迎大家点赞、关注、收藏、留言,后期不迷路,让微信进步!