当调用actuator端点/info
和/health
时,我希望禁用内容协商功能。
这是我的配置文件:
@Configuration
public class InterceptorAppConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(interceptor);
}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.defaultContentType(MediaType.APPLICATION_XML)
.mediaType("json", MediaType.APPLICATION_JSON)
.mediaType("xml", MediaType.APPLICATION_XML);
}
}
当我执行 curl http://localhost:8081/health
命令时,我收到以下信息:
DefaultHandlerExceptionResolver Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation]
然而当我在Chrome中访问同样的URL时,我收到了一个有效的响应。
在我的情况下,actuator应该被调用而没有头部信息(没有 -H 'Accept: ...')。
configurer.ignoreAcceptHeader(true)
是否符合您的需求? - Dirk Deyne