1.在整合springboot admin server时,发现admin client无法注册到admin server上
查找原因后发现代码中报错:HttpMediaTypeNotAcceptableException: Could not find acceptable representation
2.此时知道是返回给admin server类型时发生的错误,但是不知道admin server需要的是什么类型,所以重写WebMvcConfigurer
解析全部类型查看返回类型是什么
@Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { for (HttpMessageConverter<?> converter : converters) { if (converter instanceof MappingJackson2HttpMessageConverter) { converters.remove(converter); } } FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); List<MediaType> supportedMediaTypes = new ArrayList<>(); //解析全部类型 supportedMediaTypes.add(MediaType.ALL); converter.setSupportedMediaTypes(supportedMediaTypes); FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.WriteDateUseDateFormat, SerializerFeature.WriteNullStringAsEmpty, SerializerFeature.WriteMapNullValue, SerializerFeature.DisableCircularReferenceDetect); //日期格式化 fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); converter.setFastJsonConfig(fastJsonConfig); converters.add(converter); }
3.调用接口,返回结果成功,得知需要的类型为:application/vnd.spring-boot.actuator.v2+json
4.添加对类型application/vnd.spring-boot.actuator.v2+json的解析
//提供对admin的类型支持mediaType MediaType mediaType = MediaType.valueOf("application/vnd.spring-boot.actuator.v2+json"); supportedMediaTypes.add(mediaType);