Issue
For some reason I decided to change to another message converter
, my code is below
@Bean
public HttpMessageConverters customConverters() {
HttpMessageConverter<?> additional = new FastJsonHttpMessageConverter();
return new HttpMessageConverters(additional);
}
Now I'd like to know how to check whether this custom converter is in effect? I tried to access /beans
but only got this
{
bean: "customConverters",
scope: "singleton",
type: "org.springframework.boot.autoconfigure.web.HttpMessageConverters",
resource: "com.foo.BarApplication",
dependencies: [ ]
}
So does exist some manner to know which message converter is used by spring boot?
Solution
Only injected dependencies are shown in the dependencies
array. If you do something like
@Bean
public FastJsonHttpMessageConverter fastJsonHttpMessageConverter() {
return new FastJsonHttpMessageConverter();
}
@Bean
@Autowired
public HttpMessageConverters convertersToBeUsed(FastJsonHttpMessageConverter converter) {
return new HttpMessageConverters(converter);
}
you will see the FastJsonHttpMessageConverter
in the list.
If you want to see all registered converters, look for HttpMessageConvertersAutoConfiguration
in the bean list. It should look similar to this:
{
bean: "org.springframework.boot.autoconfigure.web.HttpMessageConvertersAutoConfiguration",
scope: "singleton",
type: "org.springframework.boot.autoconfigure.web.HttpMessageConvertersAutoConfiguration$$EnhancerBySpringCGLIB$$9e15b021",
resource: "null",
dependencies: [
"fastJsonHttpMessageConverter",
"stringHttpMessageConverter"
]
}
Answered By - mzc
Answer Checked By - Terry (JavaFixing Volunteer)