文章目录
        
            
        
    
    
    
    
                  springmvc 排除jackson如果使用后使用Gson
| 1
 | @SpringBootApplication(exclude= {DataSourceAutoConfiguration.class,JacksonAutoConfiguration.class})
 | 

在autoconfig下gson的配置
 如果直接使用expose注解后不会直接生效需要重新bean注入到
如果直接使用expose注解后不会直接生效需要重新bean注入到
需要gson注入bean到spring里面
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 
 | new GsonBuilder().addSerializationExclusionStrategy(new ExclusionStrategy() {
 @Override
 public boolean shouldSkipField(FieldAttributes fieldAttributes) {
 final Expose expose = fieldAttributes.getAnnotation(Expose.class);
 return expose != null && !expose.serialize();
 }
 
 @Override
 public boolean shouldSkipClass(Class<?> aClass) {
 return false;
 }
 })
 .addDeserializationExclusionStrategy(new ExclusionStrategy() {
 @Override
 public boolean shouldSkipField(FieldAttributes fieldAttributes) {
 final Expose expose = fieldAttributes.getAnnotation(Expose.class);
 return expose != null && !expose.deserialize();
 }
 
 @Override
 public boolean shouldSkipClass(Class<?> aClass) {
 return false;
 }
 })
 .create();
 
 | 
https://stackoverflow.com/questions/4802887/gson-how-to-exclude-specific-fields-from-serialization-without-annotations#:~:text=I%20explicitly%20used-,%40Expose%20to%20exclude,-it.%20I%20used