1
@RequestMapping(value = "/getOptimizeLoggerByCP/{cpId}", method = RequestMethod.POST)
public @ResponseBody DataTablesResponse<MessageLogger> getOptimizeLoggerByCP(HttpServletRequest request, @PathVariable String cpId,@RequestBody String json) {
}
}
我也写下面的消息转换器没有加载冬眠懒惰对象
<mvc:annotation-driven>
<mvc:message-converters>
<bean
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="com.gridscape.ocppserver.dao.impl.HibernateAwareObjectMapper" />
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
public class HibernateAwareObjectMapper extends ObjectMapper {
/**
*
*/
private static final long serialVersionUID = 1L;
public HibernateAwareObjectMapper() {
Hibernate4Module hm = new Hibernate4Module();
registerModule(hm);
}
}
当我从applicationContext.xml中删除消息转换器,控制器的工作原理,但是当我添加消息转换器,控制器停止工作,当我请求控制器我得到了400个不好的要求。我打电话给下面的细节客户
url:- getOptimizeLoggerByCP/REE001
method:- POST
Content-Type:- application/json
Body:-{
"start": 1,
"length": 1,
"draw": 1
}
春天问题当jackson无法在提交的数据和'@ RequestBody'参数之间进行映射时,会生成'400'。您可能需要将您的json主体映射到实际对象而不是“String”。 – beerbajay 2015-03-25 12:19:07
那么为什么它在我删除消息转换器时起作用 – Mahesh 2015-03-25 12:29:49
可能是因为hibernate模块不想从具有3个字段的对象创建字符串。测试映射到与您正在发送的数据实际相符的类。 – beerbajay 2015-03-25 13:11:54