我试图截获在我的控制器中返回的对象,以便在spring调用jackson的序列化过程之前,创建一个响应的平面json结构。
我将支持一个查询参数,它允许客户机展平响应主体。比如:
/v1/rest/employees/{employeId}/id?flat=true
控制器方法类似于:
public Employee getEmployee(...) {}
我希望避免在每次服务调用中实现这种扁平化逻辑,并继续返回 Employee
对象。
spring中是否有某种工具允许我a)读取查询字符串,b)截获作为响应体返回的对象?
1条答案
按热度按时间2ic8powd1#
这里有一个主意。也许有更好的方法,但这会奏效:
定义一个额外的请求Map来执行平面Map:
“flatmapper”的实现可以是任何你喜欢的,只要它工作。一种方法是使用jackson的objectmapper先将值写为json,然后使用https://github.com/wnameless/json-flattener 把它展平到你想要的输出。也可能有一种方法可以定义一个定制的objectmapper来进行平面Map,尽管这需要您做更多的工作。