Spring的Controller中某個方法引數加了@RequestBody之後請求無法進入方法
阿新 • • 發佈:2019-02-01
遇到上述問題,先檢查JS的Ajax相關程式碼有沒有寫對,模版如下:[javascript] view plain copy
如果寫對了,檢查後臺Controller程式碼,如果也是對的,只能說明,配置檔案沒配好。
- $.ajax({
- type : 'POST',
- dataType : 'json',
- url : getRootPath() + '/require/publish',
- data : JSON.stringify(mydata),
- contentType : "application/json",
- success : function(data) {
- alert("釋出成功!"
- },
- error : function(data){
- alert(JSON.stringify(mydata));
- }
- });
如果寫對了,檢查後臺Controller程式碼,如果也是對的,只能說明,配置檔案沒配好。
一定是漏了Jackson相關jar包,需要3個jar包,下載之後匯入:
jackson-annotations-2.6.jar
jackson-databind-2.6.jar
jackson-core-2.6.jar
同時在springmvc-servlet.xml中增加配置:
- <!-- json轉換器 -->
- <bean
- class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
- <propertyname="messageConverters">
- <list>
- <refbean="mappingJackson2HttpMessageConverter"/>
- </list>
- </property>
- </bean
- <beanid="mappingJackson2HttpMessageConverter"
- class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
- <propertyname="supportedMediaTypes">
- <list>
- <value>text/html;charset=UTF-8</value>
- <value>text/json;charset=UTF-8</value>
- <value>application/json;charset=UTF-8</value>
- </list>
- </property>
- </bean>