问题1:class和interface封装工具类除了代码默认简写外还有其他区别吗?因为interface没有private,所以还是喜欢用class写。
问题2:前后端分离后,数据用map封装放data好还是这样自定义好?
public class ProblemUtil {
public static Problem createProblem(Object... datas) {
ProblemBuilder builder = Problem.builder().withDetail("success").with("code", 0);
for(Object obj:datas){
String name = getName(obj);
builder.with(name,obj);
}
return builder.build();
}
public static Problem createProblem(String detail, Object... datas) {
ProblemBuilder builder = Problem.builder().withDetail(detail).with("code", 0);
for(Object obj:datas){
String name = getName(obj);
builder.with(name,obj);
}
return builder.build();
}
public static Problem createProblem(String detail, int code, Object... datas) {
ProblemBuilder builder = Problem.builder().withDetail(detail).with("code", code);
for(Object obj:datas){
String name = getName(obj);
builder.with(name,obj);
}
return builder.build();
}
private static String getName(Object obj){
String name = null;
if(obj instanceof List){
name = ((List) obj).get(0).getClass().getName()+"s";
}else {
name = obj.getClass().getName();
}
return tolowFirstCase(name.substring(name.lastIndexOf(".")+1));
}
private static String tolowFirstCase(String str) {
char[] c = str.toCharArray();
c[0] = (char) (c[0]-(32)); //ASCII
return c.toString();
}
}