sping代码优化建议

这里提两点我项目中真正用到的建议,后面会陆续把其他的分享出来。

1、controller返回数据大体格式在BaseController统一定义

例如返回给前端的格式是

{
"data":{},
code:0
}

那么我们可以统一在BaseController中定义一个方法

public final Object data(Onject object){
    JSONObject json = new JSONObject();
    json.put("code",0);
    json.put("data",object);
    return json;
}

每个Controller继承这个BaseController就可以了,在相应需要返回数据的地方return data(responseData)就行了。

2、统一处理异常信息

springmvc有提供注解@ExceptionHandler,当请求处理过程中抛出Exception异常的时候,将会委托该方法处理,我们在这个异常中处理日志记录和数据返回前端等工作。

@ExceptionHandler(value = {Exception.class})  
public final Object error(Exception e){
    logger.error("请求处理异常"+e.getMessage,e);
    JSONObject json = new JSONObject();
    json.put("code",-1);
    json.put("data","系统异常");
    return json;
}
当然这里还可以根据不同的异常信息,进行不同的处理。比如对于数据库的异常,我们可以向项目开发者发出警告信息,方便及时处理。对于不同的异常,可以返回不同的提示语,也方便开发自己知道大概的问题等。

猜你喜欢

转载自blog.csdn.net/codingtu/article/details/78204250