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);