Wie konfiguriere ich benutzerdefinierten MediaType in Spring MVC?

Mit Spring MVC habe ich Controller, die bereits für JSON- und XML-Medienformate arbeiten. In der Content Negotiation-Konfiguration möchte ich mich nur auf den Accept-Header verlassen und einen benutzerdefinierten Namen für den Medientyp einführen, zum Beispiel: "myXml"

Meine Konfiguration:

@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);
    }
}

Meine Steuerung:

@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);
}

Es funktioniert ziemlich gut, Überschrift akzeptieren:application/json produziert JSON,application/xml erzeugt XML. Alles andere gibt 406 zurück. Nicht akzeptabel, selbstmyXml.

Ich habe allerdings XML erwartet ...

Antworten auf die Frage(2)

Ihre Antwort auf die Frage