首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何设计API返回码(错误码)?

一、前言 客户端请求API,通常需要通过返回码来判断API返回的结果是否符合预期,以及该如何处理返回的内容等 相信很多同学都吃过返回码定义混乱的亏,有的API用返回码是int类型,有的是string类型...,有的用0表示成功,又有的用1表示成功,还有用”true”表示成功,碰上这种事情,只能说:头疼 API返回码的设计还是要认真对待,毕竟好的返回码设计可以降低沟通成本以及程序的维护成本 二、HTTP状态码参考...,我们对错误码进行分段 返回码值 说明 0 成功 99999 系统发生未知异常 10000-19999 参数校验错误 20000-29999 A步骤执行失败 30000-39999 B步骤执行失败 通过这样的设计...,不论是程序还是人都可以非常方便的区分API的返回结果,关键是统一!...但是对于API来说,返回的信息又必须是准确的,但用户看到的就必须转译,这个转译的工作调用方可以做,但是通常API提供者来提供个性化的Message能力会更好 我们可以把转译的消息配置到数据库,并缓存到Redis

6.5K30

如何设计API返回码(错误码)?

—1— 前言 客户端请求API,通常需要通过返回码来判断API返回的结果是否符合预期,以及该如何处理返回的内容等。...API返回码的设计还是要认真对待,毕竟好的返回码设计可以降低沟通成本以及程序的维护成本。...—3— 参数约定 虽说是返回码设计,但是只有code是不行的,还要有对应的message,让人可以看懂。 参考HTTP状态码的思路,我们对错误码进行分段。...—4— 个性化Message 通常我们的Message都是写给工程师看的,但是在不同的场景下,同样的错误,可能需要给用户看到不一样的错误提示。...我们可以把转译的消息配置到数据库,并缓存到Redis或者API本机。 然后在请求处理结束即将返回的时候,根据application_id+code,去匹配替换message。

83710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    前后端分离--MockJS模拟API返回数据

    所以慢慢衍生出以重新的架构模式,在开发阶段前后端约定好Restful API的返回格式,然后后端业务逻辑设计Restful API,前端按照约定好的返回格式协同开发前端并独立完成测试工作。...而刚才也说到了前后端可以协同开发,那前端如果开发完成如何在API还没有完成的情况下机型模拟数据测试呢?所以本篇文章介绍一个前端开发利器---mockJS模拟Restful API 返回数据。...简介 MochJS实际上就是一个模拟数据生成工具,可以模拟各种业务场景返回不同格式的数据。支持生成随机文本、数字、日期、邮箱、颜色、图片等。...而且使用非常简单,我们使用MockJS就可以实现后端Restful API还未提供的情况下前端完成模拟测试。...,但是多了一个优点在于后端Restful API还未实现,而前端需要测试,我们就可以使用npm run start命令你个启动这个Mock服务获取返回数据进行测试,当后端API实现完成,我们就停止这个Mock

    2.6K20

    Flask 使用abort方法返回http错误码、http错误响应信息

    abort方法使用场景 在api开发中,当视图处理http请求的时候会出现错误的情况。当发现这种情况,如果需要返回http错误码给浏览器,或者错误响应信息,这时候就可以使用abort()方法了。...abort方法的引入 from flask import abort abort 方法示例 下面我编写一个登录的login处理视图函数,设置一个必定会错误的情况,并且分别设置返回错误码、错误响应信息的情况...__': app.run(debug=True) 要注意,abort返回的错误码必须是标准http错误码。...下面使用浏览器访问看看,如下: ? 可以看到返回的就是404的错误信息,下面将错误码改为500看看,如下: ? 使用abort直接返回错误码是最常用的情况,另外还有返回错误信息内容的情况。...if __name__ == '__main__': app.run(debug=True) 在使用错误信息还需要引入Response,如下: from flask import Response

    3K20

    asp.net web api 向客户端返回错误信息

    1使用Http状态码 ASP.NET Web Api框架提供了Http状态码的值,如下图所示。 虽然有这些预定义的状态码,但在实际项目中使用自定状态码结合预定义状态码更有优势。...通过在适当的位置抛出异常   throw new HttpResponseException 通过构造函数设置响应或Http状态,来实现向客户端返回相应的执行状态。...自定义状态码的规则为: 1)必须是整数 2)必须小于999 3)600以内的码最好别用 此外消息短语不应很长,如果想更加详细的表达消息,那么也可以使用代码代替消息,但要注意代码不能是三位数字,否则客户端无法正常获得消息内容...2 返回响应中包含错误码和消息短语 使用Web api一般返回序列化后的字符串,将错误码与消息短语也包括在序列化字符串内。但对于使用Odata协议来说,无法这样实现。

    2.9K100

    Flask 使用abort方法返回http错误码、http错误响应信息

    abort方法使用场景 在api开发中,当视图处理http请求的时候会出现错误的情况。当发现这种情况,如果需要返回http错误码给浏览器,或者错误响应信息,这时候就可以使用abort()方法了。...abort方法的引入 from flask import abort abort 方法示例 下面我编写一个登录的login处理视图函数,设置一个必定会错误的情况,并且分别设置返回错误码、错误响应信息的情况...__': app.run(debug=True) 要注意,abort返回的错误码必须是标准http错误码。...下面使用浏览器访问看看,如下: 可以看到返回的就是404的错误信息,下面将错误码改为500看看,如下: 使用abort直接返回错误码是最常用的情况,另外还有返回错误信息内容的情况。...if __name__ == '__main__': app.run(debug=True) 在使用错误信息还需要引入Response,如下: from flask import Response

    1.4K20

    Java 编程问题:十三、HTTP 客户端和 WebSocket API

    设置请求体:编写一个程序,使用 HTTP 客户端 API 为请求添加正文。 设置连接认证:编写一个程序,使用 HTTP 客户端 API 通过用户名和密码设置连接认证。...设置超时:编写一个程序,使用 HTTP 客户端 API 设置我们要等待响应的时间量(超时)。 设置重定向策略:编写一个程序,根据需要使用 HTTP 客户端 API 自动重定向。...处理表单数据:编写一个使用 HTTP 客户端 API 提交数据表单的程序(application/x-www-form-urlencoded。...下载资源:编写使用 HTTP 客户端 API 下载资源的程序。 分块上传:编写一个使用 HTTP 客户端 API 上传资源的程序。...HTTP 客户端 API 不提供对 JSON 数据的特殊或专用支持,而是将此类数据视为任何其他字符串。

    6.8K21

    推荐几个适合新手开展接口Web UI自动化测试练习项目!!!

    网站地址: https://www.httpbin.org/ 特别说明: 接口丰富:httpbin.org提供了不同请求方法、返回不同状态码、使用不同验证方法、返回请求的IP和UA、返回随机字符串数据...5、Reqres Reqres 是一个在线的RESTful API测试服务,它为开发者提供了一个模拟的API环境,用于测试和开发RESTful风格的网络应用。...6、Mocky Mocky也是一个在线工具网站,主要用于模拟网络请求返回的数据信息,对于开发者来说是一个非常实用的工具。Mocky 允许你创建自定义的模拟 API 来练习接口测试。...你可以定义自己的响应数据,然后通过 API 来测试。...在开发过程中,当后端接口尚未开发完成时,开发者可以利用Mocky来模拟返回数据,从而进行前端开发和调试。

    52810

    使用Spring Boot开发一个属于自己的web Api接口返回JSON数据

    JSON数据 ---- 我们在搭建好的Maven项目里面新建一个包,创建java文件 相关参数: @RestController 作用:用于标记这个类是一个控制器,返回JSON数据的时候使用,如果使用这个注解...,则接口返回数据会被序列化为JSON @RequestMapping 作用:路由映射,用于类上做1级路径;用于某个方法上做子路径 代码如下 package net.test.demo.controller...org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.Map; //测试配置问文件 @RestController @RequestMapping("api...Spring Boot的默认端口访问为8080,当然这个也可也在相关的配置文件进行修改,访问测试可以使用浏览器输入localhost:8080/api/v1/test/testJson,在日常工作中,JSON...格式的数据也是后端跟前端交互使用最多的一种数据格式,也可也使用接口测试软件PostMan,测试结果如下,可以成功返回Json数据 ?

    2.3K10

    那些消除异步的传染性的方法到底可不可取?

    接下来看下实现思路吧 当一个 fetch 请求返回 promise 时,需要使用 await 来获取数据。而一旦使用了 await,当前函数就必须是 async 函数。...再执行fetch时,结果已经缓存在cache了,取出数据就可以直接交付不用等待了从而变成了同步函数。整个过程会走两次,第一次以错误结束,第二次以成功结束,这两次都是同步的。...在这个过程中fetch的逻辑就发生了变化:fetch时要判断是否有缓存,如果有缓存则返回缓存,如果没有缓存则发送真实请求同时抛出错误,然后把请求的结果保存。...抛出的错误为发送请求返回的Promise对象,目的是为了在请求完成后再去恢复调用。...newFetch 函数根据 cache 的状态来决定直接返回结果或执行原始 fetch 并处理其后续的解析和状态更新。如果遇到错误则更新状态并抛出。

    40110
    领券