
访问一个 api 来验证数据,比如说 email 是否已注册过或者是验证码之类的,验证失败了返回 400 bad request 还是 403 forbidden ?不太理解两个的区别
1 crab 2017-06-10 23:47:22 +08:00 返回 200 更好吧,然后响应内容标志是否注册这样。 |
2 qiayue PRO 400 说的是请求错误,在 api 这个场景中一般是缺少参数 403 一般表示权限不对,比如未登录,或者已登录但你请求的是别人的信息 |
3 noe132 2017-06-10 23:50:51 +08:00 2xx 是请求成功 3xx 是资源已被转移 4xx 是请求失败 5xx 是服务器错误 要返回查询结果,肯定是请求成功啊。 |
4 hamalz OP |
5 flynaj 2017-06-11 00:03:22 +08:00 via Android API 肯定是 200,看看其他人写的 |
6 wly19960911 2017-06-11 00:10:57 +08:00 via Android 不要根据状态码好,你是用 400 作为错误,假如测试真的出现 400 错误不要调试半天? 还是返回数据判断最好,以后也好改 |
7 hamalz OP |
8 imn1 2017-06-11 00:15:48 +08:00 首先,这个状态码完全可以在后台程序设定,并不能完全确认 400 一般是判断来自客户端的请求不合理 401 一般是客户端身份判断不正确,例如登录没通过 403 多是服务器端主动拒绝 |
9 oh 2017-06-11 10:35:06 +08:00 via iPhone 如果想用 http 状态码做判断,记得上 https,不然有些地区运营商会把非 200 劫持,返回一个 200 状态的 html 页面 |