该文档有点朦胧,但是您应该只需要注册HttpMessageConverter bean,它就会被适当地添加。
资源:
上下文中存在的任何HttpMessageConverter bean都将添加到转换器列表中
由于您已经注册
TextJavascriptMessageConverter为bean(通过@Component),因此您应该能够自动装配
HttpMessageConverters以访问所有转换器。
虽然最好您可以自动为a
RestTemplateBuilder接线,以为您设置restTemplate(包括转换器)。
例:
@SpringBootApplicationpublic class DemoApplication { @Component public static class TextJavascriptConverter extends AbstractJackson2HttpMessageConverter { public TextJavascriptConverter() { //can use overloaded constructor to set supported MediaType super(new ObjectMapper(), new MediaType("text", "javascript")); } } @Bean public ApplicationRunner demoRunner(RestTemplateBuilder builder, TextJavascriptConverter javascriptConverter) { return args -> { //can autowire RestTemplateBuilder for sensible defaults (including converters) RestTemplate restTemplate = builder.build(); //confirm your converter is there if (restTemplate.getMessageConverters().contains(javascriptConverter)) { System.out.println("My custom HttpMessageConverter was registered!"); } }; } public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }}另外,为此目的创建一个新的转换器还是修改现有转换器(如我在第一个示例中显示的那样)是一个好习惯吗?
您最好创建自己的转换器,否则就有可能放弃对原始媒体类型的支持。



