<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.29</version> </dependency> 这里我要返回的图片路径 在返回时候字段前面拼接一个 /files
@JSONField(serializeUsing = JSONFieldViewPathSerializerUtil.class) private String idcardImages;
JSONFieldViewPathSerializerUtil 是此字段序列化要用的类
JSONFieldViewPathSerializerUtil write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, ( === SpringUtil.getBean(StorageProperties.== storageProperties.getRequestLocation() +
注意事项:
1、String序列化时候 如果是null 会在返回的时候变成 " "空字符串,判断时候需要注意
2、在要序列化的字符串是空 " " 也要 执行方法:serializer.write(String.valueOf(object));
否则返回的json 是“ idcardImages: ,” 注意格式是错误的
扩展:SpringUtil从容器中获取bean
/** * @Auther liran * @Date 2018/8/30 14:49 * @Description */import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.stereotype.Component; @Componentpublic class SpringUtil implements ApplicationContextAware {private static ApplicationContext applicationContext; @Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {if(SpringUtil.applicationContext == null) { SpringUtil.applicationContext = applicationContext; } System.out.println("========ApplicationContext配置成功,在普通类可以通过调用SpringUtils.getAppContext()获取applicationContext对象,applicationContext="+SpringUtil.applicationContext+"========"); }//获取applicationContextpublic static ApplicationContext getApplicationContext() {return applicationContext; }//通过name获取 Bean.public static Object getBean(String name){return getApplicationContext().getBean(name); }//通过class获取Bean.public static <T> T getBean(Class<T> clazz){return getApplicationContext().getBean(clazz); }//通过name,以及Clazz返回指定的Beanpublic static <T> T getBean(String name,Class<T> clazz){return getApplicationContext().getBean(name, clazz); } }
我的笔记博客版权我的笔记博客版权