5

有关我正在处理的要求,请参阅测试用例中的 de-ignore Json 字段。

作为在测试用例中忽略 Json 字段的解决方案,我使用 if else 条件动态切换 json 视图,如下所示。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.stereotype.Component;

@Component
public class JacksonMapperUtil {

    @Autowired
    private MappingJackson2HttpMessageConverter jsonConverter;

    public void modifyView(final Boolean internalView) {

        if (internalView) {
            this.jsonConverter.getObjectMapper().setConfig (
                    this.jsonConverter.getObjectMapper().getSerializationConfig().withView(View.Internal.class));
        }
        else {
            this.jsonConverter.getObjectMapper().setConfig (
                    this.jsonConverter.getObjectMapper().getSerializationConfig().withView(View.Public.class));
        }
    }
}

但是理论上,当同时有多个请求时,一个请求需要使用公共视图,而另一个内部视图需要使用,这应该不起作用,因为我们正在更新同一个对象中的视图。因此,我正在寻找一种可以为每个请求动态切换视图的解决方案。请指出我正确的方向。

4

0 回答 0