简单看看@RequestBody注解原理
又到了很无聊的时候了,于是随便看看源码假装自己很努力的样子,哈哈哈; 记得上一篇博客随便说了一下RequestBody的用法以及注意的问题,这个注解作为非常常用的注解,也是时候了解一波其中的原理了。 温馨提示:阅读本篇博客,默认你之前大概看过springmvc源码,懂得其中的基本流程 1.HttpMessageConverter接口 这个接口就是@RequestBody和@ResponseBody这两个注解的精髓,我们就先看看这个顶层接口定义了哪些方法: public interface HttpMessageConverter<T> { //判断当前转换器是否可以解析前端传过来的数据 boolean canRead(Class<?> clazz, @Nullable MediaType mediaType); //判断当前转换器是否可以将后端数据解析为前端需要的格式 boolean canWrite(Class<?> clazz, @Nullable MediaType mediaType); //当前转换器能够解析所有的数据类型 List<MediaType> getSupportedMediaTypes(); //这个方法就是读取前端传过来的数据 T read(Class<? extends T> clazz, HttpInputMessage