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

REST API URI 设计七准则

在了解 REST API URI 设计规则之前,让我们快速过一下我们将要讨论一些术语。 URI REST API 使用统一资源标识符(URI)来寻址资源。...在今天网站上,URI 设计范围从可以清楚地传达API资源模型,如: http://api.example.com/louvre/leonardo-da-vinci/mona-lisa 到那些难以让人理解...REST API 设计人员应该创建 URI,将 REST API 资源模型传达给潜在客户端开发人员。在这篇文章中,我将尝试为 REST API URsI 引入一套设计规则。...两个不同 URI 映射到两个不同资源。如果 URI 不同,那么资源也会不同,反之亦然。因此,REST API 必须生成和传达清晰 URI,并且不应容忍任何客户端尝试去对一个资源进行模糊标识。...结论 当你设计 REST API 服务时,你必须注意资源,这些资源URI 定义。 你正在构建服务中每个资源,都将至少有一个 URI 来标识它。这个 URI 最好是有意义,并能充分描述资源

1.3K40

REST API URI七大设计原则

在了解REST API URI设计规则之前,让我们快速浏览一些我们将要讨论术语。 URIs REST API使用统一资源标识符(URI)来寻址资源。...REST API设计人员应该在考虑将REST API资源模型传达给潜在客户端开发者前提下,创造URI。在这篇文章中,我将尝试为REST API URI 引入一套设计规则。...两个不同URI映射到两个不同资源。如果URI不同,那么资源也是如此,反之亦然。因此,REST API必须生成和传递精确URI,不能容忍任何客户端尝试不精确资源定位。...有些API碰到这种情况,可能设计为让客户端重定向到相应没有尾斜杠URI(也有可能会返回301 - 用来资源重定向)。...结论 当你在设计REST API服务时,您必须注意这些由URI定义资源。 正在构建服务中每个资源将至少有一个URI标识它。这个URI最好是有意义,且能充分描述资源

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

如何设计,容易挨揍URI???

后端工程师,如何无脑设计一些shi一样URI,来恶心移动/前端工程师呢? 希望本文能给大家一些启示。 方法一:搞一些不知所谓名称。...例如: http://api.exapmle.com/louvre/da-vinci/mona-lisa 画外音:卢浮宫/达芬奇/蒙娜丽莎 方法三:多在URI末尾添加“/”,让别人以为是目录,还有可能帮他们多搞一次...提高URI误读性,尽量让文本查看器中下划线特效遮蔽“_”。...例如: http://api.example.com/My-Folder/My-Doc 画外音:RFC 3986中规定URI区分大小写。 学会了吗?注意保护好自己!...玩笑归玩笑,好URI,建议这么弄: (1)RESTful是基本原则,命名要有意义; (2)不要用容易拼错外语; (3)URI末尾不要添加“/”; (4)使用“-”而不是“_”,以提高URI可读性

46220

Flink REST API 设计指南

Flink REST API 介绍Flink REST API 是 JobManager 提供 HTTP 接口,用户可以通过 GET、POST 等 REST 定义方法,请求获取作业、JobManager...非阻塞 Flink REST API 设计要点关于拓展 Flink REST API 方法,我们可以在 Flink 官网文档、各类技术社区文章中得到详细指引,因而这里不再赘述基础细节,而是更侧重于讲解遇到一些常见问题和解决方案...→ TaskManager → 用户定义 Task请求体、返回体设计通常对于接受 GET 方法 REST API 而言,可以直接使用 EmptyRequestBody 类作为请求体结构,方便快捷...REST Handler 设计handler 是一个 REST API 接口执行者,我们可以通过实现 handleRequest 方法来定义请求处理逻辑。...Handler 与 ResourceManager(同属于 JobManager)通信桥梁。

1.4K20

如何设计属于你自己秒杀系统?

高性能,让每个用户都能感受到极快秒杀响应,不能出现大批量用户延迟较高现象。 可扩展,当流量比预期更高时,有平滑扩展策略(也有部分产品设计成友好拒绝策略)。...图片等相关资源文件。 其他与用户信息无关静态数据。 对于这种分离出来静态数据可以进行缓存。在缓存之后,这些静态数据访问效率就提高了,系统也更快了。可以使用代理服务器进行静态数据缓存。...所以,在千万用户中可能只有100人能得到商品,对于系统来说,有90%以上流量属于无效流量。...高可用 要想在整个“秒杀”活动持续期间内,依然能对用户提供良好体验,则秒杀系统架构在设计时不能设计成单节点架构。...CDN层:缓存“秒杀”活动静态资源文件。 负载均衡层:拦截请求及分发路由等。 服务层:“秒杀”活动具体交易相关逻辑处理。 基础设施层:数据存储、大数据计算及消息推送相关操作。

84210

13 个设计 REST API 最佳实践

了解应用于 REST 之上 HTTP 知识 如果你想要构建设计优良 REST API,了解一些关于 HTTP 协议基础知识是很有帮助,毕竟磨刀不误砍材工。...REST 是面向资源,一个资源被一个 URI 所标识,比如 /articles/。 端点(endpoint),一般指动词与 URI 组合,比如 GET: /articles/。...避免在 URI 中使用动词 如果你理解了第 1 条最佳实践所传达意思,那么你现在就会明白不要将动词放入 REST API URI 中。...published/ 除了之前提出问题外,这里还涉及一个设计问题,就是 **published** 本身不是资源,它仅仅是资源特征,类似这种特征字段,应该将它们放到 querystring...用户经过了正常身份验证,但没有访问资源所需权限?这种一般是未授权(403 Forbidden) 12.

3.5K20

REST API Best practices: Where to put parameters?

在上一篇博客中,包子为您解说了REST设计风格理论概念,相信有很多同学读完以后会有很多实际问题需要进一步探讨。在这里,包子为大家转载了一个比较热门最佳设计实践问题:如何设计REST风格URI?...从上篇文章里,我们知道URI是HTTP实现下REST资源ID。URI一般包含了指向资源路径,以及参数来指定请求获取特定资源状态。那么到底什么应该是属于URI路径一部分,而什么又该放入URI呢?...这是一个值得大家思考设计实践。...原文链接:http://stackoverflow.com/questions/4024271/rest-api-best-practices-where-to-put-parameters Question...(请点击底部左下角原文链接阅读全文。)

74150

WordPress 技巧:设置只有注册用户才能浏览特定内容

一些网站在推广中,有时候希望提高用户注册量,所以可能希望让有些内容是用户登陆之后才能看到。...WordPress 目前设置中,最复杂设置是只能把文章设置为密码保护,然后通过别的途径吧密码告诉用户才能浏览,这个方法对提高网站用户注册没有帮助,而且非常不方便。...我们增加一个自定义字段:user_only,如果这个值不为零,这这篇日志或者页面是只能给注册用户浏览,然后通过 the_content 来控制内容显示,这样就能简单并且灵活设置具体到哪篇文章或者页面是只能注册用户浏览...php /* Plugin Name: User only Plugin URI: http://blog.wpjam.com/m/post-for-user-only/ Description:通过给...Author: Denis Version: 1.0 Author URI: http://wpjam.com */ add_filter('the_content', 'post_user_only'

68740

属于 PingCAP 用户和开发者 2022 年度记忆

PingCAP 也在过去一年迎来了新进化,岁末年初,我们想邀请你共同回顾属于 PingCAP 用户和开发者 2022 年度记忆。 #1 用户信任 这一年中,用户信任对于我们来说至关重要。...在北美,越来越多行业龙头企业选择 TiDB 服务其上亿用户, 图片社交独角兽 Pinterest ,利用 TiDB 将业务敏捷度提高至少 5 倍,大幅提高了存储扩展能力,为其遍布全球 4.5 亿月活用户提供了更好使用体验...欧洲 共享交通巨头 Bolt ,使用 TiDB 支撑来自横跨 45 个国家、一亿多用户海量数据处理和分析。...在印度,TiDB 获得了 印度最大电商企业 Flipkart 青睐,帮助其支撑 4 亿用户实时交易和分析,并保障其交易系统在印度购物节中高效容灾和平稳运行。...作为 TiDB 社区一个重要力量,我们和其他社区贡献者一起贡献代码,通过社区用户使用、打磨,大家共同分享 TiDB 不断进步红利,没有任何人为障碍和边界。

1.2K00

SpringBoot中REST API错误异常处理设计

Restful API错误/异常设计 在RESTful API中设计异常处理时,最好在响应中设置HTTP状态代码,这样可以表示客户端请求为什么会失败原因。...", "information_link": "/api/producer" } 在设计REST API响应时,需要理解以下重点: 1. status表示HTTP状态代码。...2. error_code表示REST API特定错误代码。此字段有助于传递API /业务领域中特定信息。比如类似Oracle错误ORA-12345 3. message字段表示人类可读错误消息。...看一个简单用例,当客户端API通过其唯一ID调用后端存储库查找记录时,如果找不到该记录,我们存储库类会返回null或空对象,在这种情况下,即使找不到我们想要资源记录,API也会向客户端返回http...在这篇文章中,我们介绍了实现Spring REST异常处理不同选项。 为REST API构建一个良好异常处理工作流是一个迭代和复杂过程。

6.8K31

用户积分功能设计

需要准确数据? 在常规情况下,我们可以自问自答这样几个关于产品设计约束问题。例如: 用户需要看到准确积分吗?...这些问题,都是需要在产品设计阶段考虑清楚。当然,从技术实现角度来说,对于这种大用户积分功能设计,实时性要求越低,越容易实现。...数据结构设计 这里谈论数据结构设计主要是考虑到在如此高读写频率下,我们需要在内存里面存放一部分或全部用户积分信息,以减少对数据库或者文件存储系统压力。...在设计排名时候,数组有一个妙用:用户积分变化往往不大,例如从 1024 分变到 1026 分,但是如果要考虑排名实时性,就不得不把整个用户排名重新计算一遍,这显得杀鸡用牛刀。...如果把数组设计以存储排名信息,但是数组下标不是表示用户 id,而是表示积分: 例如上图,左侧是数组下标,右侧中括号里表示是排名,右侧逗号分隔数表示是相应用户 id。

89530

深入理解什么是RESTful API ?

前言:最近两年很火爆网络框架Retrofit,使用它时候,查看文档会告诉你,要求后台服务器哥们必须符合REST规范给你设计接口,作为安卓开发工程师来说,我就很奇怪了,REST规范到底是啥?...如果你把这个名称搞懂了,也就不难体会REST是一种什么样设计。 三、资源(Resources) REST名称"表现层状态转化"中,省略了主语。"...它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体实在。你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定URI。...URI只代表资源实体,不代表它形式。严格地说,有些网址最后".html"后缀名是不必要,因为这个后缀名表示格式,属于"表现层"范畴,而URI应该只代表"资源"位置。...七、误区 RESTful架构有一些典型设计误区。 最常见一种设计错误,就是URI包含动词。因为"资源"表示一种实体,所以应该是名词,URI不应该有动词,动词应该放在HTTP协议中。

56220

深入理解什么是RESTful API ?

前言:最近两年很火爆网络框架Retrofit,使用它时候,查看文档会告诉你,要求后台服务器哥们必须符合REST规范给你设计接口,作为安卓开发工程师来说,我就很奇怪了,REST规范到底是啥?...如果你把这个名称搞懂了,也就不难体会REST是一种什么样设计。 三、资源(Resources) REST名称"表现层状态转化"中,省略了主语。"...它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体实在。你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定URI。...URI只代表资源实体,不代表它形式。严格地说,有些网址最后".html"后缀名是不必要,因为这个后缀名表示格式,属于"表现层"范畴,而URI应该只代表"资源"位置。...七、误区 RESTful架构有一些典型设计误区。 最常见一种设计错误,就是URI包含动词。因为"资源"表示一种实体,所以应该是名词,URI不应该有动词,动词应该放在HTTP协议中。

3K20

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

REST本身没有创造新技术、组件或服务,它理念就是在现有的技术之上,更好使用现有的 web规范。用REST规范web服务器,能够更好展现资源,客户端能够更好使用资源。...每个资源都由URI/ID标识。REST本身跟http无关,但是目前http是与它相关唯一实例。REST有着优雅、简洁特性,本文是根据豆瓣api来谈谈自己对restful一些理解。...2.URI规范 URI(Uniform Resource Identifiers) 统一资源标示符 URL(Uniform Resource Locator) 统一资源定位符 URI 格式: URI格式定义如下...安全 这部分内容不属于这篇文章,但是稍微说明下: 使用https 使用jwt验证 使用参数签名,防止参数被篡改。...8.参考资料 本文参考了以下资料: 豆瓣api 理解restful架构 restful introduction 跟着github学习restful api设计 REST接口设计规范 restful

1.7K50

.NET 云原生架构师训练营(模块二 基础巩固 REST && RESTful)--学习笔记

2.3.1 Web API -- REST && RESTful 什么是 REST,什么是 RESTful RESTful API 设计 RESTful 成熟度模型 什么是 REST,什么是 RESTful...):表现层状态转化 RESTful:面向资源架构 如果一个架构符合REST原则,就称它为RESTful架构。...它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体实在。 你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定URI。...URI资源地址,至于资源形式 URI 是不管,但是会通过 http 请求一些参数来做具体返回 baseUri: https://www.dotnetlives.com 资源 Resource...SOAP 和 XML-RPC 都属于此类。 Level 1: Level 1 层级 API 引入了资源概念。要执行对资源操作,客户端发出指定要执行操作和任何参数 POST 请求。

30810

.NET 云原生架构师训练营(模块二 基础巩固 REST && RESTful)--学习笔记

2.3.1 Web API -- REST && RESTful 什么是 REST,什么是 RESTful RESTful API 设计 RESTful 成熟度模型 什么是 REST,什么是 RESTful...):表现层状态转化 RESTful:面向资源架构 如果一个架构符合REST原则,就称它为RESTful架构。...它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体实在。 你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定URI。...URI资源地址,至于资源形式 URI 是不管,但是会通过 http 请求一些参数来做具体返回 baseUri: https://www.dotnetlives.com 资源 Resource...SOAP 和 XML-RPC 都属于此类。 Level 1: Level 1 层级 API 引入了资源概念。要执行对资源操作,客户端发出指定要执行操作和任何参数 POST 请求。

40721
领券