【发布时间】:2015-09-10 12:06:46
【问题描述】:
我正在使用 Spring 的 return ResponseEntity 来返回 HTTP 响应。
在实体中传递 POJO 或 MAP 时,它会将其转换为 JSON 对象。喜欢
return new ResponseEntity<Object>(result, HttpStatus.OK);
结果可能是 POJO 类。 (getter 和 setter)
我正在使用
<bean id="jsonMessageConverter" class="org.springframework.http.converter.json.GsonHttpMessageConverter ">
</bean>
现在我想要的是,我将获得请求中的响应字段列表。我只想用这些字段来响应请求。
例如,如果我收到作为名称、id 的响应字段。那么对象必须只包含这两个。
{
"name":"test",
"id":15
}
我无法使用@jsonignore 或@explore 注释。 B'Coz 我希望使用编码动态完成 JSON。
可以通过覆盖 GSON 转换器方法或使用 AOP。
有没有办法配置jackson的适配器,根据字段创建对象。
【问题讨论】:
-
您的意思是您要发送的响应是一个对象,其中包含您在请求中收到的正确值?请求值的数量是固定的还是动态的?
-
完全正确。请求中的所有字段需要作为对象发送(POJO 已经有这些字段。但除此之外还有很多。我们需要排除)。它是动态的。我们不知道会发生什么。
-
你需要使用Gson还是可以切换到Jackson?
-
你没问题。也可以使用杰克逊。杰克逊有什么办法吗?实际上,首先我只使用杰克逊。仅为此,我转向了 GSON。
-
POJO 类是动态创建的吗?或者您只想忽略空值?
标签: java json spring spring-mvc jackson