错误响应测试用例的设计是为了确保当接口接收到无效或意外的输入时,能够返回预期的错误信息,而不是崩溃或返回不明确的结果。输入验证错误、认证失败、资源不存在、业务逻辑错误、服务器错误等。...每个错误类型对应的HTTP状态码也要正确,比如400表示客户端错误,401未授权,404资源不存在,500服务器错误等。我们还要考虑如何覆盖各种边界情况和异常情况。...设计有效的错误响应测试用例是接口测试的关键环节,确保接口在异常场景下返回预期的错误信息、状态码和响应体。一、 覆盖常见的错误场景a....违反业务规则:转账金额为负数,返回 400 及错误码(如 "Amount must be positive")。e....五、典型错误响应测试用例示例参数错误类测试用例1:必填参数缺失接口:POST /api/users(创建用户)场景:未提供必填字段email输入:{"name": "Alice"}预期响应:状态码:400
id=100 2)HTTP动词(请求方式) 对于资源, 一般有4个操作, CURD(增/删/改/查) GET: 从服务器获取资源(一项或多项) POST: 在服务器新建一个资源 PUT: 在服务器更新资源...4)响应状态码 服务端返回的信息, 用来告诉客户端操作结果。...常见状态码: 状态码 含义 说明 200 OK 操作成功, 并返回数据 201 CREATED 新建成功 204 NO CONTENT 删除成功 400 BAD REQUEST 请求语法错误 403 Forbidden...- 通用错误响应 503 (Service Unavailable)- 服务端当前无法处理请求 5)错误信息 如果状态码是4xx或者5xx, 需要告诉客户端对应的错误信息....RESTFul风格的数据接口示例: 以新闻资源为例:URI及HTTP动词设计如下 HTTP动词 URI路径 说明 GET http://域名/news 获取列表数据 GET http://域名/news
207 Multi-Status 中文:207 多状态 专业的意思:WebDAV 协议扩展状态码,用于在一个响应中返回多个资源的操作状态,消息体为 XML 格式,包含各子请求的独立状态码。...解决方案:忽略该状态码,通常为服务器配置问题,可联系管理员检查并修复服务器设置。...四.4xx 客户端错误状态码 400 Bad Request 中文:400 错误请求 专业的意思:服务器因客户端请求存在错误(如语法错误、无效格式、欺骗性路由)无法处理请求,客户端不应未修改就重复发送。...解决方案:先排查并解决依赖请求的错误(如修复依赖的服务接口),待依赖请求成功后再重试当前请求。...实际场景:网站代码出错、数据库连接失败、服务器资源耗尽(如内存不足)。 解决方案:这不是客户端问题,可等待几分钟后重试,若问题持续,联系服务器管理员检查并修复错误。
三、弱网 模拟网络弱网场景(4g网络、地铁、机场、地下室、室外等) 弱网状态,重复提交操作,会导致接口调用错乱、业务重复调用、业务出错等BUG 弱网状态,测试响应超时导致的接口报错等 弱网状态,测试延迟导致的页面交互错乱等...弱网状态,测试接口超时,导致的前后端异常问题(状态变更错误、数据加减错误) 1、弱网下客户端要传参数给服务器。...、接口异常报错 超时 1、接口响应超时,测试超时后的处理 因网络慢、服务器压力大、数据量大,导致处理时间过长超时,调用支付中心,业务方失败,支付中心处理成功,钱已发出去 例1:发佣金2000条,点审核通过...1、失败结果处理 充值失败,冲入和冲出账户回退检测 接口异常报错 1、接口报错500,前端处理检测 2、接口返回格式错误,前端处理检测 3、接口未获取到数据,前端处理检测 十二、SQL、代码注入 1、表单类注入...1和2,统一处理为不存在的状态 2、支付不存在的订单号检测 十九、优选资源少校验 因为优先校验资源少的,校验不通过,避免校验资源大的,造成服务器资源浪费消耗 例如:手机号和验证码登录,优先校验验证码是否正确
同样,RESTful API也有一些设计原则:统一接口: API应该具有统一的接口,使其易于理解和使用。状态无关性: 客户端和服务器之间的交互不应该包含关于请求的状态信息。每个请求应该是完全独立的。...资源导向: API应该基于资源进行操作,而不是行为。资源可以是任何东西,如用户、产品或订单。自描述性: API响应应该包含足够的信息,以便客户端能够理解如何使用该响应。...实现RESTful端点实现GET请求当实现GET请求时,我们的目标是从服务器获取资源的信息。在RESTful API中,GET请求通常用于检索资源。...如果查询返回了结果,我们提取资源信息并将其编码为JSON格式返回给客户端。如果未找到资源,我们返回404错误响应。实现POST请求实现POST请求时,我们的目标是在服务器上创建新资源。...以下是如何设计良好的错误处理机制和自定义错误响应的详细实现:设计良好的错误处理机制在设计良好的错误处理机制时,我们应该考虑以下几个方面:捕获异常: 在代码中,我们应该使用try-catch块来捕获可能发生的异常
但处理尚未完成', 204: '客户端告知服务器删除一个资源,服务器移除它', 206: '请求成功。但是只有部分回应', 400: '请求无效。..., 422: '请求失败。请验证参数', 500: '服务器发生错误,请检查服务器。', 502: '网关错误。', 503: '服务不可用,服务器暂时过载或维护。'...但处理尚未完成 204 客户端告知服务器删除一个资源,服务器移除它 3.3.2 错误状态码 状态码 错误描述 400 请求无效。数据不正确,请重试 401 请求没有权限。...当前权限无法获取指定的资源 404 请求失败。请求资源不存在 406 请求失败。请求头部不一致,请重试 422 请求失败。...请验证参数 3.3.3 服务器错误状态码 状态码 定义 500 服务器发生错误,请检查服务器 502 网关错误 503 服务不可用,服务器暂时过载或维护 504 网关超时 3.3.4 自定义状态码
解决思路 CDN加速:收银台静态资源通过CDN分发,就近访问。 页面预加载:在商品详情页就开始预加载收银台相关资源。 骨架屏设计:页面加载时显示骨架屏,提升用户体验。...状态修复机制:定时任务扫描异常状态订单,自动修复。 2.2.2 订单金额计算错误 用户使用优惠券购买商品,订单系统计算出的最终金额与用户预期不符,特别是多张优惠券叠加使用时。...解决思路: 多时段重试:3点失败后,每小时重试一次,直到成功。 多种获取方式:SFTP、HTTP API、邮件等多种方式获取对账文件。 人工备份:自动获取失败时,及时通知运营人员手动获取。...2.8.2 会计科目分录错误 不同类型的交易需要记录不同的会计科目,系统错误地将退款记录为收入,导致财务报表错误。 解决思路: 业务规则配置:会计分录规则通过配置中心管理。...2.10 系统集成与监控问题 2.10.1 系统间通信异常 订单系统调用支付系统接口时偶尔超时,但没有重试机制,导致订单状态更新失败。
HTTP 谓词方法 解释说明 GET 获取资源信息 POST 提交新的资源信息 PUT 更新已有的资源信息 DELETE 删除资源 例如,对于一个获取所有资源的方法,我们可能会定义接口的默认返回...HTTP 状态码为 200 或是 400,当状态码为 200 时,代表数据获取成功,接口可以正常返回数据,当状态码为 400 时,则代表接口访问出现问题,此时则返回错误信息对象。 ...可能这里你可能会有疑问,当接口返回的 HTTP 状态码为 400 时,返回的信息是什么鬼,与我们定义的错误信息对象字段不同啊?...当然,当接口的 HTTP 返回状态码为 400 时,最终还是会返回我们自定义的错误信息对象,所以这里为了不造成前后端对接上的歧义,我们最好将返回的对象信息也作为参数添加到 ProducesResponseType...HTTP 状态码为 400,而我们只添加了 HTTP 状态码为 200 的特性说明。
HTTP 谓词方法 解释说明 GET 获取资源信息 POST 提交新的资源信息 PUT 更新已有的资源信息 DELETE 删除资源 例如,对于一个获取所有资源的方法,我们可能会定义接口的默认返回...HTTP 状态码为 200 或是 400,当状态码为 200 时,代表数据获取成功,接口可以正常返回数据,当状态码为 400 时,则代表接口访问出现问题,此时则返回错误信息对象。 ...可能这里你可能会有疑问,当接口返回的 HTTP 状态码为 400 时,返回的信息是什么鬼,与我们定义的错误信息对象字段不同啊?...当然,当接口的 HTTP 返回状态码为 400 时,最终还是会返回我们自定义的错误信息对象,所以这里为了不造成前后端对接上的歧义,我们最好将返回的对象信息也作为参数添加到 ProducesResponseType...例如在下面的接口代码中,我们根据用户的唯一标识去寻找用户数据,当获取不到数据的时候,返回的 HTTP 状态码为 400,而我们只添加了 HTTP 状态码为 200 的特性说明。
当你看到页面正常加载时,这场对话顺畅愉快;当出现"无法访问"时,其实是服务器给你发了一封"出错通知书"——这就是HTTP响应状态码,互联网世界的"表情语言"。...、资源跳转客户端错误400-499请求有错误,服务器无法处理地址错误、权限不足服务端错误500-599服务器处理请求时出错代码bug、服务器过载 冷知识:状态码是HTTP/1.0规范中首次定义的,1996...103 Early Hints此状态代码主要用于与 Link 链接头一起使用,以允许用户代理在服务器准备响应阶段时开始预加载 preloading 资源。...此响应旨在防止'丢失更新'问题,即当第三方修改服务器上的状态时,客户端 GET 获取资源的状态,对其进行修改并将其 PUT 放回服务器,从而导致冲突。...506 Variant Also Negotiates服务器存在内部配置错误:所选的变体资源被配置为参与透明内容协商本身,因此不是协商过程中的适当终点。
作用: 客户端浏览器根据响应状态码,即可判断出这次 http 请求是成功还是失败了。 常见的响应状态码 状态码 状态码描述 说明 200 OK 请求成功。...201 Created 资源在服务器端已成功创建 304 Not Modified 资源在客户端被缓存,响应体中不包含任何资源内容 400 Bad Request 客户端的请求方式、或请求参数有误导致的请求失败...401 Unauthorized 客户端的用户身份认证未通过,导致的此次请求失败 404 Not Found 客户端请求的资源地址错误,导致服务器无法找到资源 500 Internal Server...Error 服务器内部错误,导致的本次请求失败 http 响应状态码 Vs 业务状态码 正确区分响应状态码和业务状态码的不同,是保证使用 Ajax 不迷茫的必要前提。...(成功或失败) 业务状态码用来表示这次业务处理的成功与否 ③ 通用 响应状态码是由 http 协议规定的,具有通用性。
3. 4XX (Client Error 客户端错误状态码)4XX 的响应结果表明客户端是发生错误的原因所在。(1)400 Bad Request该状态码表示请求报文中存在语法错误。...(3)403 Forbidden该状态码表明请求资源的访问被服务器拒绝了,服务器端没有必要给出详细理由,但是可以在响应报文实体的主体中进行说明。进入该状态后,不能再继续进行验证。...这个错误代码为 IIS 6.0 所专用。(4)404 Not Found该状态码表明服务器上无法找到请求的资源。除此之外,也可以在服务器端拒绝请求且不想说明理由时使用。...5XX (Server Error 服务器错误状态码)5XX 的响应结果表明服务器本身发生错误.(1)500 Internal Server Error该状态码表明服务器端在执行请求时发生了错误。...注意,502 错误通常不是客户端能够修复的,而是需要由途经的 Web 服务器或者代理服务器对其进行修复。以下情况会出现502:502.1 - CGI (通用网关接口)应用程序超时。
它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。——来自百度百科 image.png 说白了,其实就是请求-响应协议。...开始进行解析: image.png 请求行: GET /m0_46278918 HTTP1.1 GET:请求方式 /m0_46278918:请求路径 HTTP1.1:HTTP版本 请求方式: GET:获取资源...POST:增加或修改资源 PUT:修改资源 DELETE:删除资源 请求路径: 服务器以路径作为依据,返回用户所需的内容。...400(客户端请求错误) 401(认证失败) 403(被禁止) 404(找不到内容)。 5xx:服务器错误。服务器在处理请求的过程中发生错误。...(Android移动架构师七大专题学习资源) 架构师筑基必备技能:深入Java泛型+注解深入浅出+并发编程+数据传输与序列化+Java虚拟机原理+反射与类加载+动态代理+高效IO Android高级UI
HttpWebResponse.StatusCode 属性获取响应的状态。对应 HttpStatusCode 枚举值之一。...BadGateway 502 等效于 HTTP 状态 502。 BadGateway 指示中间代理服务器从另一代理或原始服务器接收到错误响应。...BadRequest 400 等效于 HTTP 状态 400。 BadRequest 指示服务器未能识别请求。...ResetContent 205 等效于 HTTP 状态 205。 ResetContent 指示客户端应重置(而非重新加载)当前资源。 SeeOther 303 等效于 HTTP 状态 303。...ServiceUnavailable 指示服务器暂时不可用,通常是由于过多加载或维护。 SwitchingProtocols 101 等效于 HTTP 状态 101。
200 OK状态码 200 OK 表明请求已经成功。默认情况下状态码为 200 的响应可以被缓存。不同请求方式对于请求成功的意义如下:GET: 已经取得资源,并将资源添加到响应的消息体中。...400 Bad Request超文本传输协议(HTTP)400 Bad Request 响应状态码表示服务器因某些被认为是客户端错误的原因(例如,请求语法错误、无效请求消息格式或者欺骗性请求路由),而无法或不会处理该请求...412 Precondition Failed在 HTTP 协议中,响应状态码 412 Precondition Failed(先决条件失败)表示客户端错误,意味着对于目标资源的访问请求被拒绝。...服务器必须支持的方法(即不会返回这个状态码的方法)只有 GET 和 HEAD。请注意,你无法修复 501 错误,需要被访问的 web 服务器去修复该问题。...提示备注: 网关在计算机网络体系中可以指代不同的设备,502 错误通常不是客户端能够修复的,而是需要由途经的 Web 服务器或者代理服务器对其进行修复。
3. 4XX (Client Error 客户端错误状态码)4XX 的响应结果表明客户端是发生错误的原因所在。(1)400 Bad Request该状态码表示请求报文中存在语法错误。...这个错误代码为 IIS 6.0 所专用。403.19 - 不能为这个应用程序池中的客户端执行 CGI。这个错误代码为 IIS 6.0 所专用。403.20 - Passport 登录失败。...这个错误代码为 IIS 6.0 所专用。(4)404 Not Found该状态码表明服务器上无法找到请求的资源。除此之外,也可以在服务器端拒绝请求且不想说明理由时使用。...5XX (Server Error 服务器错误状态码)5XX 的响应结果表明服务器本身发生错误.(1)500 Internal Server Error该状态码表明服务器端在执行请求时发生了错误。...注意,502 错误通常不是客户端能够修复的,而是需要由途经的 Web 服务器或者代理服务器对其进行修复。以下情况会出现502:502.1 - CGI (通用网关接口)应用程序超时。
我们首先要判断是否存在 error.response,存在就说明接口有响应,也就是接口通了,但是返回错误;不存在则说明接口没通,请求一直挂起,多数是接口崩溃了。...如果有响应,首先获取状态码,根据状态码来判断什么时候需要收集异常。上面的判断方式简单粗暴,只要状态码大于 400 就视为一个异常,拿到响应数据,并执行上报逻辑。...如果没有响应,可以看作是接口超时异常,调用异常处理函数时传一个 null 即可。 前端异常 上面我们介绍了在 axios 拦截器中如何捕获接口异常,这部分我们再介绍如何捕获前端异常。...接口异常一般需要的数据字段如下: code:http 状态码 url:接口请求地址 method:接口请求方法 params:接口请求参数 error:接口报错信息 这些字段都可以在 error 参数中获取...要避免获取到接口可能返回的超长错误信息,多半是接口没处理,这样可能会导致写入数据失败,要提前与后台规定好。
API接口的资源应始终为复数,如果我们要访问资源的一个实例,我们可以在URL中传递id或者name之类的。...6 使用HTTP状态码 当客户端通过API向服务器发出请求时,客户端应该知道反馈,无论是失败,成功还是请求错误。 HTTP状态代码是一系列标准化代码,针对http请求的可能会发生的各种情况。...服务器应始终返回正确的状态代码。 很多人喜欢把错误信息放在返回值中,典型的Code和Message,其实比较Low。...下面是Http状态码,可以合理利用处理各种请求反馈,将http自身的错误和服务器内部的错误,有一个很好的区分。 2xx(成功类别) 200 Ok表示GET,PUT或POST成功的标准HTTP响应。...3xx(重定向类别) 304 Not Modified表示客户端已在其缓存中有响应。 因此无需再次传输相同的数据。 4xx(客户端错误类别) 这些状态代码表示客户端已提出错误请求。
除非响应的是一个HEAD请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应中的实体内容。...Http状态码 Http Status Code Http状态码含义中文说明 400 400 Bad Request400 请求错误,通常是访问的域名未绑定引起 401 401 Unauthorized401...这一组状态码说明服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。...Exceeded509 服务器带宽限制 510 510 Not Extended510 获取资源策略未被满足 511 511 Network Authentication Required511 需验证以许可连接...System.Net.HttpStatusCode.ResetContent 指示客户端应重置(或重新加载)当前资源。
HTTP 协议用于客户端 和服务器之间通信 2. 通过请求 和响应交换达成通信 客户端发送的为 请求报文 请求报文: 请求方法, 请求URI , 协议版本, 可选请求首部字段和内容实体构成。...服务端发送的为 响应报文 响应报文: 协议版本, 状态码, 解释状态码原因短语, 可选响应首部字段以及主体构成 3....优点: 减少了TCP 连接开销,减轻了服务器的负载。 它还有一个特性就是管线化 管线化: 在请求多的时候,不会因为堵塞而影响请求加载,它是异步的,不是同步加载请求。...状态码 状态码是 当客户端向服务端发送请求,服务端返回的一种响应,用户知道当前处理的情况如何。 状态码以3位数字和原因短语组成。...,不做返回 307 Temporary Redirect 临时重定向 4xx 400 Bad Request 报文中存在语法错误,格式传递不对 401 Unauthorized 请求验证失败(用户验证失败