public static final SimpleDateFormat FORMAT = new SimpleDateFormat("yyyy-MM-dd");
static {
FORMAT.setTimeZone(TimeZone.getTimeZone("GMT+8"));
}
/**
* 响应过滤器
*/
public static final class ResponseFilter extends ExtFilter implements ValueFilter {
@Override
public Object process(Object object, String name, Object value) {
if (name.equals("createTime") || name.equals("modifyTime")) {
return value;
} else if (value instanceof Date) {
return FORMAT.format(value);
} else {
return value;
}
}
}
/**
*
* @param responseCode
* @return
*/
public static String backJson4HttpApi(ResponseCode responseCode) {
if (responseCode != null) {
String result = JSON.toJSONString(responseCode, new ResponseFilter(),
SerializerFeature.DisableCircularReferenceDetect,
SerializerFeature.WriteNonStringKeyAsString);
result = result.replaceFirst("\"data\":\\{", "");
return result.substring(0, result.length() - 1);
}
return null;
}
/**
* 验证失败的json串
* @param code
* @return
*/
public static String backJson4VerifyFailure(int code) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("message", "未通过验证");
return JSON.toJSONString(new ResponseCode(code, map), new ResponseFilter(),
SerializerFeature.DisableCircularReferenceDetect,
SerializerFeature.WriteNonStringKeyAsString);
}
/**
* 成功的json串
* @param responseCode
* @return
*/
public static String backJson(ResponseCode responseCode) {
if (responseCode != null) {
return JSON.toJSONString(responseCode, new ResponseFilter(),
SerializerFeature.DisableCircularReferenceDetect,
SerializerFeature.WriteNonStringKeyAsString);
}
return null;
}
}
public class ResponseCode {
public final int code;
public final Object data;
/**
*
* @param code
* @param data
*/
@JSONCreator
public ResponseCode(@JSONField(name = "code") int code, @JSONField(name = "data")Object data) {
this.code = code;
this.data = data;
}
}