2017年网站建设工作总结,企业网址怎么注册,免费排版网站,网站开发原型模板这篇文章是写给哪些在小破站学习ssm教程的兄弟们#xff0c;我们都是萌新#xff0c;大佬就让行吧感谢理解#xff01;
本文章主要讲解B站赵伟风SSM教程第108节(JSON数据的接收)
我所有的配置都跟老师一样#xff0c;老师就很顺利发出去了#xff0c;我的就是一直415我们都是萌新大佬就让行吧感谢理解
本文章主要讲解B站赵伟风SSM教程第108节(JSON数据的接收)
我所有的配置都跟老师一样老师就很顺利发出去了我的就是一直415烦死了 经过我的排查问题出现在 我们的配置类中我们在上课的时候老是都让我们这样写的
package org.example.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;EnableWebMvc
Configuration
ComponentScan(org.example.json)public class MVCConfig {Beanpublic RequestMappingHandlerMapping requestMappingHandlerMapping() {return new RequestMappingHandlerMapping();}Beanpublic RequestMappingHandlerAdapter requestMappingHandlerAdapter() {return new RequestMappingHandlerAdapter();}
}
问题原因是
这样写老师没有问题我的就报错了我滴孩6 为什么呢 在你手动定义 RequestMappingHandlerAdapter 和 RequestMappingHandlerMapping 时 默认的 HttpMessageConverter 配置被覆盖或丢失。 默认情况下Spring 自动配置 RequestMappingHandlerAdapter 并加载 HttpMessageConverter包括 MappingJackson2HttpMessageConverter用于处理 JSON 请求。 如果删除手动配置后Spring 恢复默认行为因此能够自动解析 application/json使得 POST 请求可以正确被处理。
说人话就是你这个不用自己配置 人家spring给你配置好了你这样一搞给人家的覆盖了人家不高兴了不给你解析Json了jackson来了都不好使
解决方案1更改你的配置文件
这样就可以直接解析了
package org.example.config;import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;EnableWebMvc
Configuration
ComponentScan(org.example.json)
public class MVCConfig {// 这里不需要手动定义 requestMappingHandlerAdapter 和 requestMappingHandlerMapping
}
解决方案2更改你的配置文件
如果确实需要手动配置 RequestMappingHandlerAdapter你需要确认其包含 HttpMessageConverter如 MappingJackson2HttpMessageConverter以便处理 application/json 格式的请求和响应。
package org.example.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;EnableWebMvc
Configuration
ComponentScan(org.example.json)
public class MVCConfig {Beanpublic RequestMappingHandlerAdapter requestMappingHandlerAdapter() {RequestMappingHandlerAdapter adapter new RequestMappingHandlerAdapter();adapter.getMessageConverters().add(new MappingJackson2HttpMessageConverter());return adapter;}}