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

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

—1— 前言 客户端请求API,通常需要通过返回码来判断API返回的结果是否符合预期,以及该如何处理返回的内容等。...API返回码的设计还是要认真对待,毕竟好的返回码设计可以降低沟通成本以及程序的维护成本。...—3— 参数约定 虽说是返回码设计,但是只有code是不行的,还要有对应的message,让人可以看懂。 参考HTTP状态码的思路,我们对错误码进行分段。...通过这样的设计,不论是程序还是人都可以非常方便的区分API的返回结果,关键是统一!...—4— 个性化Message 通常我们的Message都是写给工程师看的,但是在不同的场景下,同样的错误,可能需要给用户看到不一样的错误提示。

83610

如何设计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
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用 Python-Twitter 搜索 API 获取最新推文 ID

    问题背景在使用 Twitter 搜索 API 获取推文时,我们可能会遇到重复获取相同推文的问题。这可能会导致我们在处理推文时出现数据丢失或重复的情况。...解决方案一种解决方法是使用 Twitter 搜索 API 中的 since_id 参数。since_id 参数可以让我们指定一个推文 ID,并仅获取该推文 ID 之后发布的推文。...下面是一个使用 since_id 参数获取最新推文 ID 的 Python 代码示例:import twitterclass Test(): def __init__(self):...= twitter.Api(consumer_key, consumer_secret, access_key, access_secret) self.api.VerifyCredentials...另外,我们还可以使用 max_id 参数来指定一个推文 ID,并仅获取该推文 ID 之前的推文。这也可以用来避免获取重复的推文。

    21800

    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

    Go错误集锦 | 函数何时使用带参数名的返回值

    如下函数就指定了返回值的名字: func f(a int) (b int) { b = a return } 在这种使用方式中,返回值参数(这里是b)首先会被初始化成返回类型的零值(这里...其次,在return语句中可以不加任何参数,默认会将同名变量b的值返回。 02 何时使用带参数名的返回值 那么,在什么场景下会推荐使用带参数名的返回值呢?...因为通过error类型我们就知道返回值一定是一个错误类型的。所以,在这种场景下,返回值指定了参数名也不会提高可读性,就尽量不要指定参数值名称。...在业务逻辑中如果处理不当,就会造成错误。...大家注意这里,如果ctx.Err()不等于nil,那么在返回err的时候,因为err没有被赋值,同时由于在返回值中指定了参数名被初始化成对应的零值nil,实际返回的err还是nil,不符合要返回具体错误的预期

    2.6K10

    使用浏览器的 Reporting API 上报站点错误

    例如 CSP违规, Feature Policy 违规,使用了废弃API,浏览器崩溃和网络错误等是可以使用 Reporting API 收集的一些信息。...如果没有 Reporting API ,就无法知道你宝贵的用户是否发生了这种情况。 Reporting API 可帮助捕获整个站点中潜在的错误。...支持的浏览器 report-to 将使用它代替report-uri。 上报网络错误 网络错误日志(NEL)规范定义了一种从源头收集客户端网络错误的机制。...它使用新的 NEL HTTP 响应头来设置,告诉浏览器收集网络错误,然后与 Reporting API 集成,将错误报告给服务器。...当你想要自动向服务器报告错误或捕获在 JavaScript 中不可能看到的错误(网络错误)时,可以使用它。

    2.5K30

    Twitter API 最新收费规则曝光,使用者每年最少支付超 50 万美元

    作者 | 褚杏娟 2 月 2 日,马斯克宣布未来一周内将对 Twitter API 收费,后来推迟到了 2 月 13 日。...他们可以通过 Account Activity API 分析的 Twitter 处理数量也将被限制在 5000 条,并且 Engagement API Totals Endpoint 每分钟最多 20...研究人员可以通过 Twitter 的免费 API 访问平台 1% 的推文。 但是,这个消息对学术研究领域来说是“打击性”的。...很多学者们通过免费访问 Twitter API (应用程序编程接口) 来获取平台上发生的各种对话数据来了解舆论并进行研究。...但新的收费规则出台后,大多数依靠 API 访问进行研究的组织将因价格过高而无法使用 Twitter。

    1.3K20

    使用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
    领券