Использование Джексона Миксинса с MappingJacksonHttpMessageConverter и Spring MVC

Я сразу же перейду к своему настоящему вопросу / проблеме,is there any way to access annotations on the controller's handler method inside of a HttpMessageConverter? Я почти уверен, что ответ отрицательный (после просмотра исходного кода Spring).

Есть ли другой способ использоватьДжексон Миксинс в паре при использованииMappingJacksonHttpMessageConverter? Я уже реализовал свой собственный HttpMessageConverter, основанный на MappingJacksonHttpMessageConverter, для «обновления». это использовать Джексон 2.0.

Controller.class

@Controller
public class Controller {

    @JsonFilter({ @JsonMixin(target=MyTargetObject.class, mixin=MyTargetMixin.class) })
    @RequestMapping(value="/my-rest/{id}/my-obj", method=RequestMethod.GET, produces="application/json")
    public @ResponseBody List<MyTargetObject> getListOfFoo(@PathVariable("id") Integer id) {
        return MyServiceImpl.getInstance().getBarObj(id).getFoos();
    }
}

@JsonFilter это пользовательская аннотация, которую я хочу передать мапперу, который затем может автоматически подаваться непосредственно в ObjectMapper.

MappingJacksonHttpMessageConverter.class

public class MappingJacksonHttpMessageConverter extends AbstractHttpMessageConverter<Object> {

    ...

    @Override
    protected void writeInternal(Object object, HttpOutputMessage outputMessage) {

            //Obviously, no access to the HandlerMethod here.

    }

    ...
}

Я искал этот ответ повсюду. До сих пор я видел только, как люди сериализуют свой объект в JSON внутри метода обработки контроллера (нарушаяСУХОЙ принцип неоднократно в каждом методе). Или аннотируйте их объекты данных напрямую (без разделения или множественных конфигураций того, как выставлять ваши объекты).

Может случиться так, что это не может быть сделано в HttpMessageConverter. Есть ли другие варианты? Перехватчики предоставляют доступ к HandlerMethod, но не к возвращенному объекту метода-обработчика.

Ответы на вопрос(2)

Ваш ответ на вопрос