我试图@RestController在json和xml之间格式化我的响应内容类型.它似乎适用于Accept标头或路径扩展(.json,.xml)的情况.我的应用程序打包为WAR并部署到tomcat实例.但是我目前面临着两个问题.
1)即使我ContentNegotiationConfigurer根据curl -X GET -H "Cache-Control: no-cache" http://localhost:8080/v1/api/version解析为XML 的请求将我的默认内容类型设置为JSON
2)当我在请求中使用param时,内容解析不正确.在访问时curl -X GET -H "Cache-Control: no-cache" http://localhost:8080/v1/api/version?format=json我得到了XML.
SpringBoot应用程序
@EnableAutoConfiguration
@ComponentScan
@Configuration
@EnableWebMvc
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
builder.sources(Application.class);
return super.configure(builder);
}
}
Run Code Online (Sandbox Code Playgroud)
WebMvcConfigurerAdapter
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
private RequestMappingHandlerAdapter requestMappingHandlerAdapter;
private CustomObjectMapper objectMapper;
@PostConstruct
public void init() { …Run Code Online (Sandbox Code Playgroud)