gpt4 book ai didi

java - @JsonFilter,自定义和性能

转载 作者:行者123 更新时间:2023-11-30 11:46:23 25 4
gpt4 key购买 nike

我正在开发一个 REST api,它需要支持基于请求参数(基于 Spring MVC 3.0.x 和 Jackson)的可选属性过滤。

我正在研究实现的是获取一个字符串参数(格式为“fieldName1,fieldName2 ...”),过滤掉不允许的属性名称,过滤掉不存在的属性名称以及添加强制属性。

一旦我有了最终的字符串,我想使用 jackson @JSONFilter 只序列化所需的属性,如下所示:

SimpleBeanPropertyFilter someFilter = 
SimpleBeanPropertyFilter.filterOutAllExcept(builtString);
filterProvider =
new SimpleFilterProvider().addFilter("someGenericName",someFilter);
String pojoIntoJsonParse =
objectMapper.writer(filterProvider).writeValueAsString(pojo);

我的问题是:

  1. 我是否必须使用 ModelAndView 机制(因为我在每个请求的基础上操作 objectMapper)或者我是否可以以某种方式通知 spring 我想要的过滤器并且仍然让它完成繁重的工作?

  2. 这个解决方案在性能方面是否可行,因为我认为我必须为每个请求重建 filterProvider 和过滤器。

  3. jackson 尝试在过滤器缓存方面执行哪些优化(如果有)?

  4. 对于上述问题,我是否应该尝试研究任何替代路径?

最佳答案

我对 Spring 的了解不够,无法了解 ModelAndView 部分,但我对 Jackson 的了解足够多,可以说性能不太可能成为 Jackson 过滤的问题。过滤方法并非非常简单的原因之一是因为它们试图在可用性与性能之间取得平衡——因此,JSON View 和过滤器的开销都非常低。

关于java - @JsonFilter,自定义和性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9782516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com