Usando Jackson Mixins com MappingJacksonHttpMessageConverter e Spring MVC

Eu vou chegar a minha pergunta / problema real imediatamenteExiste alguma maneira de acessar anotações no método manipulador do controlador dentro de um HttpMessageConverter? Tenho certeza que a resposta é não (depois de percorrer o código fonte do Spring).

Existe alguma outra maneira de usarJackson Mixins emparelhado ao usarMappingJacksonHttpMessageConverter? Eu já implementei meu próprio HttpMessageConverter baseado em MappingJacksonHttpMessageConverter para "atualizar" para usar o Jackson 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 é uma anotação personalizada que desejo passar para o mapeador, que pode ser alimentada diretamente para o ObjectMapper automaticamente.

MappingJacksonHttpMessageConverter.class

public class MappingJacksonHttpMessageConverter extends AbstractHttpMessageConverter<Object> {

    ...

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

            //Obviously, no access to the HandlerMethod here.

    }

    ...
}

Eu procurei por toda parte por esta resposta. Até agora eu só vi pessoas serializarem seu objeto para JSON dentro do método de controle do controlador (violando oPrincípio DRY repetidamente em todos os métodos). Ou anote seus objetos de dados diretamente (sem desacoplamento ou várias configurações sobre como expor seus objetos).

Pode ser que isso não possa ser feito em um HttpMessageConverter. Existem outras opções? Os interceptadores dão acesso ao HandlerMethod, mas não ao objeto retornado do método manipulador.

questionAnswers(2)

yourAnswerToTheQuestion