新手提问:“关于业务异常的处理方式”,在 V 站搜了一下都是很久以前的旧帖子,所以开个新帖提问
之前的公司是完全不用异常,比如用户名不正确的处理:
public void login(String username,String password){
User user = db.getUsername(username);
if(user==null){
//UnifyResponse 是统一响应实体类,参数 1:code,参数 2:message
return UnifyResponse.FAIL(400,"用户不存在");
}
}
返回给前端的格式:
http status : 200
{
code: 400,
message: "用户名不正确"
}
现在这家公司是这样的:
public void login(String username,String password){
User user = db.getUsername(username);
if(user==null){
//UnifyResponse 是统一响应实体类,参数 1:code,参数 2:message
throw new NotFoundException(400,"用户名不正确")
}
}
返回给前端的格式:
http status : 404
{
code: 400,
message: "用户名不正确"
}
两个问题:
大家说说哪种处理更好?前端同学能否接受 restful 的 http status 规范
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.