【发布时间】:2017-06-26 16:32:18
【问题描述】:
我在我的 spring-boot 项目中使用 Jackson 和 hibernate:
private MappingJackson2HttpMessageConverter jacksonMessageConverter() {
MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter();
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new Hibernate4Module());
messageConverter.setObjectMapper(mapper);
return messageConverter;
}
并将其添加到转换器:
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(jacksonMessageConverter());
我使用 facebook webhooks 来接收有关 messenger 中新消息的信息:
public ResponseEntity<Void> handleCallback(@RequestBody final String payload,
@RequestHeader(SIGNATURE_HEADER_NAME) final String signature) {
payload参数是一个字符串,但是jackson转换器不能反序列化它:
w.s.m.s.DefaultHandlerExceptionResolver:无法读取 HTTP 消息:org.springframework.http.converter.HttpMessageNotReadableException:无法读取文档:无法从 START_OBJECT 令牌中反序列化 java.lang.String 的实例 在 [来源:java.io.PushbackInputStream@60a118dc;行:1,列:1];嵌套异常是 com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize of java.lang.String out of START_OBJECT token 在 [来源:java.io.PushbackInputStream@60a118dc;行:1,列:1]
我尝试删除 JacksonMapper,然后 webhooks 工作,但我的数据库没有:
org.hibernate.LazyInitializationException:无法初始化代理 - 没有会话
您知道如何使用 jackson 和 hibernate 反序列化 facebook webhook 吗?
【问题讨论】:
标签: json facebook hibernate jackson