Como configurar o MediaType personalizado no Spring MVC?

Usando o Spring MVC, já tenho controladores trabalhando para os formatos de mídia JSON e XML. Na configuração da negociação de conteúdo, eu gostaria de confiar apenas no cabeçalho Accept e apresentar um tipo de mídia de nome personalizado, por exemplo: "myXml"

Minha configuração:

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
    @Override
    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
        configurer
           .favorPathExtension(false)
           .favorParameter(false)
           .ignoreAcceptHeader(false)
           .useJaf(false)
           .mediaType(MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_JSON)
           .mediaType(MediaType.APPLICATION_XML_VALUE, MediaType.APPLICATION_XML)
           .mediaType("myXml", MediaType.APPLICATION_XML)
           .defaultContentType(MediaType.APPLICATION_JSON);
    }
}

Meu controlador:

@RequestMapping(value = "/manager/{id}",
        method = RequestMethod.GET,
        produces = {MediaType.APPLICATION_XML_VALUE, MediaType.APPLICATION_JSON_VALUE}
)
@ResponseBody public Manager managers(@PathVariable long id){
    return repo.getManagerById(id);
}

Funciona muito bem, aceita cabeçalho:application/json produz JSON,application/xml produz XML. Qualquer outra coisa retorna 406 Não aceitável, mesmomyXml.

Eu esperava xml embora ...

questionAnswers(1)

yourAnswerToTheQuestion