首页
学习
活动
专区
圈层
工具
发布

如何设计出优秀的Restful API?

GET 路径 /schools 获取所有的学校 GET 路径 /schools/清华 获取名字叫清华大学的详细信息 DELETE 路径 /schools/清华 从学校列表中,删除清华大学 资源和资源之间可能有父子关系...6 使用HTTP状态码 当客户端通过API向服务器发出请求时,客户端应该知道反馈,无论是失败,成功还是请求错误。 HTTP状态代码是一系列标准化代码,针对http请求的可能会发生的各种情况。...下面是Http状态码,可以合理利用处理各种请求反馈,将http自身的错误和服务器内部的错误,有一个很好的区分。 2xx(成功类别) 200 Ok表示GET,PUT或POST成功的标准HTTP响应。...5xx(服务器错误类别) 500内部服务器错误表示请求有效,但服务器完全混淆,并要求服务器提供某些意外情况。 503 Service Unavailable表示服务器已关闭或无法接收和处理请求。.../v2/schools/清华 在API上加入版本信息可以有效的使用户访问正确的API,v2是新开发功能,开发阶段,让所有用户访问v1,等开发完成统一切到v2。

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

    听GPT 讲Alertmanager源代码--api

    首先,GetAlertsOK结构体表示成功获取告警信息的响应。它包含一个Payload字段,存储实际的告警信息。 GetAlertsBadRequest结构体表示获取告警信息时请求出现错误的响应。...它包含了一些错误信息字段,如Message和Code,用于存储错误描述和错误代码等信息。 GetAlertsInternalServerError结构体表示获取告警信息时服务器内部出现错误的响应。...同样,它也包含了一些错误信息字段,用于存储服务器内部错误的描述和代码。...WriteResponse函数用于将GetAlertsOK结构体的实例编码并写入响应流中,返回一个错误类型,表示写入响应流时是否出现错误。...Must(err error):如果有错误,抛出异常。用于检查在构建URL时是否出现错误。 String():返回已构建的URL的字符串表示形式。

    85040

    治电EggJS开发规范

    请验证参数', 500: '服务器发生错误,请检查服务器。', 502: '网关错误。', 503: '服务不可用,服务器暂时过载或维护。', 504: '网关超时。'...请验证参数 3.3.3 服务器错误状态码 状态码 定义 500 服务器发生错误,请检查服务器 502 网关错误 503 服务不可用,服务器暂时过载或维护 504 网关超时 3.3.4 自定义状态码...具体而定 3.4 版本号 通过版本号可以区分api的版本 通过/api/v1/*代表v1版本 通过/api/v2/*代表v2版本 3.5 URL规范 RESTful API的所有操作都是针对特定资源进行的...v1/user/1 获取用户1的信息 POST http://www.demo.com/api/v1/user/login 登录 PUT http://www.demo.com/api/v1/user/...1部分信息 GET http://www.demo.com/api/v1/user/1/role 获取用户1的权限信息 3.6 请求体格式 { "data": { "键":"值" } }

    5.4K10

    前端开发中不可忽视的知识点汇总(二)

    306——前一版本HTTP中使用的代码,现行版本中不再使用 307——申明请求的资源临时性删除 4**(客户端错误类):请求包含错误语法或不能正确执行 400——客户端请求有语法错误,不能被服务器所理解...HTTP 403.17 - 禁止访问:客户证书已经到期或者尚未生效 404——一个404错误表明可连接服务器,但服务器无法取得所请求的网页,请求资源不存在。...5**(服务端错误类):服务器不能正确执行一个正确的请求 HTTP 500 - 服务器遇到错误,无法完成请求   HTTP 500.100 - 内部服务器错误 - ASP 错误 &emsp...; HTTP 500-11 服务器关闭   HTTP 500-12 应用程序重新启动   HTTP 500-13 - 服务器太忙  &emsp...- 网关错误 HTTP 503:由于超载或停机维护,服务器目前无法使用,一段时间后可能恢复正常 64.

    2.3K40

    Go(一)基础入门

    /或 // 是注释,在程序执行时将被忽略。 单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。...go语言区别于JAVA 当大括号的前半部分没有和函数名在同一行时,程序会报错 错误示例: package main //标准输出库 import "fmt" //主函数:包名需要为main才可以运行...iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。...",api1) v1.GET("/api2",api2) } v2 := r.Group("/v2") { v2.POST("/api1",api1) v2.POST("/api2",...,"parameter error") //参数错误 ) 使用 c.JSON(result.Status, result.OK) Gin的body的参数只能获取一次 模板设置 1、标准输出

    61530

    FCoin交易所API文档

    HTTP_METHOD GET, POST, DELETE, PUT 需要大写 HTTP_REQUEST_URI https://api.fcoin.com/v2/ 为 v2 API 的请求前缀 后面再加上真正要访问的资源路径...HTTP Request GET https://api.fcoin.com/v2/public/symbols 行情 行情概述 行情是一个全公开的 API, 当前同时提供了 HTTP 和 WebSocket...获取推送服务器时间 可以通过 ping 请求时服务器返回的 ts 和 gap 值获取推送服务器时间和数据传输时间差 gap: 推送服务器处理此语句的时间和客户端传输的时间差. ts: 推送服务器当前的时间...用于获取指定订单的成交记录 HTTP Request GET https://api.fcoin.com/v2/orders/{order_id}/match-results URL 参数 参数 解释...Error — 服务内部错误,请稍后再进行尝试 503 Service Unavailable — 服务不可用,请稍后再进行尝试 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

    1.9K40

    我是如何根据豆瓣api来理解Restful API设计的

    用REST规范的web服务器,能够更好的展现资源,客户端能够更好的使用资源。每个资源都由URI/ID标识。REST本身跟http无关,但是目前http是与它相关的唯一实例。...put -通过用作更新资源或者创建资源 head-只获取某个资源的头部信息。...比如 豆瓣图书api: name method api 获取图书信息 get /v2/book/:id 用户收藏某本图书 post /v2/book/:id/collection 用户修改对某本图书的收藏...internal server error 内部错误 5.使用通用的错误码 通用错误码,具体产品由具体产品api给出。...比如豆瓣api: 错误码 错误信息 含义 999 unknow_v2_error 未知错误 1000 need_permission 需要权限 1001 uri_not_found 资源不存在 … ….

    2.3K50

    微信公众平台开发 —— 微信端分享功能

    invalid signature" 签名错误       可以参考博文  《微信js sdk invalid signature签名错误》,网上多数的建议是检查签名证书是否正确,用作者的话就是“确认签名算法正确...,意外的发现可以重新获得正确的分享能力,不知哪一天又会出现问题,也希望好心的大牛告知一下。...一般的服务号都是拥有分享权限的,获取需要开通什么来着,具体的可百度,我的问题是没有进入“公众号平台->公众号设置->功能设置”中填写“JS接口安全域名”,其中要求是备案过的域名,个人实验证明填写去掉“http...三.补充  1.出现问题,多参考别人的解决方法,可见有一个可以带你的前辈是多么重要      2.自己探索问题的解决方法,然后做好笔记作为自己的经历回顾,虽然解决时间拉长,但成就感绝对比从别人口中听来分量重的多...); // 为保证第三方服务器与微信服务器之间数据传输的安全性,所有微信接口采用https方式调用,必须使用下面2行代码打开ssl安全校验。

    6.7K20

    http响应码简介

    http响应码简介 1 返回401 一般生产环境出现这个问题,是由于没有通过接口的登录认证。...比如有些接口名称改了,或者接口路径中/v1/user/query改成了/v2/user/query,版本号升级了。 如果没有通知所有的接口调用方,都可能会出现请求接口返回码为404的情况。...还有一种可能也会导致请求接口报404的问题,接口地址之前注册到了API网关中,但API网关的配置出现了问题。 优先排查接口url是否修改,然后排查网关或者Nginx配置是否有问题。...5 返回500 如果请求的接口,返回码为500,一般是出现了服务的内部错误。 一般网关层会对接口的返回值做一次封装,不会返回真正的异常信息。 我们只能查看接口的错误日志,来定位和排查问题。...建议出现异常时,把接口请求参数打印出来,方便后面复现问题。 导致这种问题的原因有很多,我们只能根据服务器上的错误日志,和相关的业务代码逐一排查。

    68110

    Python接口自动化-接口基础(二)

    如,豆瓣的发表评论的开放api POST https://api. douban. com/v2/book/reviews put put比较少见,HTML表单也不支持此方式。...417 :未满足期望值(Expectation Failed ) 服务器未满足”期望”请求标头字段的要求。 500~599(服务器错误) 这些状态代码表示服务器在尝试处理请求时发生内部错误。...这些错误可能是服务器本身的错误,而不是请求出错。 500 : 服务器内部错误( Internal Server Error ) 服务器遇到未曾预料的状况,无法完成请求。...一般来说,这个问题都会在服务器的程序码出错时出现。 501: 尚未实施(Not Implemented ) 服务器不具备完成请求的功能,无法完成请求。...例如,服务器无法识别请求方法时可能会返回此代码。 502: 错误网关 (Bad Gateway) 服务器作为网关或代理,从上游服务器收到无效响应。

    1.1K10

    requests做接口测试

    ://www.xxxxx.com/api/v2/activities‘,params=content) print (r.url) #获取请求内容 print...(r.text) #获取响应内容 #结果 http://www.xxxx.com/api/v2/activities?...://www.xxxxx.com/api/v2/activities‘,params=content) print (r.url) #结果 http://www.xxxx.com/api/v2/activities...状态码: 200 - 请求成功 301 - 资源(网页等)被永久转移到其它URL 404 - 请求的资源(网页等)不存在 500 - 内部服务器错误 HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型...请求包含语法错误或无法完成请求 5** 服务器错误,服务器在处理请求的过程中发生了错误 2.响应内容 在上面的内容中,已经展示了用text来获取相应的内容,返回的内容为string import requests

    1K30

    Python接口自动化-接口基础(二)

    如,豆瓣的发表评论的开放api POST https://api. douban. com/v2/book/reviews put put比较少见,HTML表单也不支持此方式。...417 :未满足期望值(Expectation Failed ) 服务器未满足”期望”请求标头字段的要求。 500~599(服务器错误) 这些状态代码表示服务器在尝试处理请求时发生内部错误。...这些错误可能是服务器本身的错误,而不是请求出错。 500 : 服务器内部错误( Internal Server Error ) 服务器遇到未曾预料的状况,无法完成请求。...一般来说,这个问题都会在服务器的程序码出错时出现。 501: 尚未实施(Not Implemented ) 服务器不具备完成请求的功能,无法完成请求。...例如,服务器无法识别请求方法时可能会返回此代码。 502: 错误网关 (Bad Gateway) 服务器作为网关或代理,从上游服务器收到无效响应。

    1K20

    Web API接口规范与测试方法

    YApi项目可以搭建在任何本地或云服务器上,完成后台项目开发时的接口编写。为开发、测试等人员提供可视化的接口预览。.../v2 注:url链接中的v1、v2就是不同数据版本的体现 2.1.4 数据即是资源 接口一般都是完成前后台数据的交互,交互的数据我们称之为资源 https://api.baidu.com/users...https://api.baidu.com/books https://api.baidu.com/book 注:一般提倡用资源的复数形式,在url链接中尽量不要出现操作资源的动词,错误示范:https.../books - get请求:获取所有书 https://api.baidu.com/books/1 - get请求:获取主键为1的书 post:新增单个或多个资源 https://api.baidu.com...响应状态码5xx 500:服务器异常 2.3 响应结果 2.3.1 响应数据要有状态码、状态信息以及数据本身 数据状态码: ''' 0:成功 1:失败 1xx:具体失败信息(要在接口文档中明确写出

    2.9K30

    restful接口规范

    、ssl 而 https协议 相对于http协议多了个ssl安全套接层 #https比http传输速度要蛮 #https比http数据更加安全 2.体现接口的关键字 https://api.xxx.com.../books/ 3.接口操作的数据称之为资源:采用资源名称的复数 https://api.xxx.com/books/ 4.接口链接中不出现操作资源的动词,通过请求方式来决定操作资源的动作 get|...P)/ get:获取一个 | put:整体修改一个(patch:局部修改一个) | delet:删除一个 5.资源数据有多版本时,接口可以做版本控制 https://api.xxx.com/...books/v1/ https://api.xxx.com/v2/books/ 6.资源响应的限制条件:筛选、排序、限制......201 新增成功 204 删除成功 404 资源不存在 400 客户请求有误 500 服务器错误 8.响应结果的信息描述: { 'status': 1, #状态码

    1.4K20

    显示http500内部服务器错误,http500内部服务器错误,小编教你HTTP 500 内部服务器错误怎么解决…

    当打开网站的时候碰到“HTTP500内部服务器错误”,这会让我们非常的心烦,有时候就是因为这些故障要折腾很久,很闹心的,下面,小编给大家带来了HTTP 500 内部服务器错误的解决图文。...很多站长在建设网站时,经常遇到程序运行时打不开的问题,有的是因为程序出现错误,无法运行,而有的是因为服务器的原因。而系统中出现的故障是用户最不想看到的,那HTTP 500 内部服务器错误怎么解决?...下面,小编给大家介绍HTTP 500内部服务器错误解决方法。...HTTP 500 内部服务器错误怎么解决 运行:regsvr32 %windir%/system32/vbscript.dll (其实这一步也可以省,确保万一,还是执行吧) 500图-1 运行:msdtc...以上就是HTTP 500内部服务器错误的解决经验。

    8.2K30

    我们必须要知道的RESTful服务最佳实践

    如请求一条微博信息,服务端响应信息应该包含这条微博相关的其他URL,客户端可以进一步利用这些URL发起请求获取感兴趣的信息,再如分页可以从第一页的返回数据中获取下一页的URT也是基于这个原理 4.系统分层...客户端通常无法表明自己是直接还是间接与端服务器进行连接,分层时同样要考虑安全策略。...4** 请求错误这些状态代码表示请求可能出错,妨碍了服务器的处理。 5**(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。...HTTP Method 详细解释 返回状态码 GET 获取对象或集合 200成功、401没有授权、403访问禁止、404没有资源、参数错误、406请求格式不正确、410资源被删除、500服务器内部错误...比如我想查询一个获取在6月份的订单中大于500元的且用户地址是北京,用户年龄在22岁到40岁、购买金额降序排列的订单列表 https://example.com/api/orders?

    1.6K30
    领券