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

撰写合格的REST API

稍稍总结了些经验,在这篇文章里讲讲如何撰写「合格的」REST API。 RFC一致性 REST API一般用来将某种资源和允许的对资源的操作暴露给外界,使调用者能够以正确的方式操作资源。...一个合格的REST API需要根据Accept头来灵活返回合适的数据。...(liberator的decision tree,沿袭了webmachine的思想,请自行google其文档查看大图) 安全性 前面说过,REST API承前启后,是系统暴露给外界的接口,所以,其安全性非常重要...一般而言,如果对REST API的安全性要求比较高,那么,所有的API的所有操作均需得到授权。...可以通过访问该语言在github上相应的awesome repo(google awesome XXX,如awesome python),查看REST API相关的部分。

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

    REST API和SOAP API之间的区别

    大家好,又见面了,我是你们的朋友全栈君。 The Representational State Transfer (REST)架构风格不是可以购买的技术,也不是可以添加到软件开发项目中的库。...“无状态”这个术语是一个至关重要的部分,因为它允许应用程序以不一样的方式进行通信。 一个RESTful API服务通过统一资源定位器(URL)公开。这个逻辑名称将资源的标识与所接受或返回的标识分开。...这是最常见的请求,每次在浏览器中键入URL并单击return、选择书签或单击锚点引用链接时执行。 对于与RESTful API的编程交互,可以使用十几种或更多的客户端API或工具。...基于rest的请求的一个重要方面是,每个请求包含足够的状态来响应请求。这就允许服务器上的可见性和无状态性、扩展系统所需的属性以及识别正在发出的请求。这种状态还允许缓存特定的结果。...如果没有对RESTful架构实现的更宏观的理解,很容易失去实践的意图。 REST最好用于管理系统,通过将产生和使用它的技术产生和使用的信息解耦。

    1.3K20

    REST API和SOAP API之间的区别

    The Representational State Transfer (REST)架构风格不是可以购买的技术,也不是可以添加到软件开发项目中的库。...REST是一种世界观,将信息提升为我们构建的体系结构的第一流元素。 Roy Fielding博士的论文“架构风格和基于网络的软件架构设计”介绍并整理了用于描述“RESTful”系统的思想和术语。...“无状态”这个术语是一个至关重要的部分,因为它允许应用程序以不一样的方式进行通信。 一个RESTful API服务通过统一资源定位器(URL)公开。这个逻辑名称将资源的标识与所接受或返回的标识分开。...这是最常见的请求,每次在浏览器中键入URL并单击return、选择书签或单击锚点引用链接时执行。 对于与RESTful API的编程交互,可以使用十几种或更多的客户端API或工具。...如果没有对RESTful架构实现的更宏观的理解,很容易失去实践的意图。 REST最好用于管理系统,通过将产生和使用它的技术产生和使用的信息解耦。

    2K10

    你确定你的 REST API 真的符合 REST 规范?

    RESTful API 的存在是 web 开发历史上的一个里程碑。在本文中,我将和你探讨几种节省 REST API 开发时间的方法,并给出相关的 Node.js 示例。...RESTful API 背后的思想是遵循REST 规范中描述的所有架构规则和限制的方式进行开发。然而,实际上,这在实践中基本上是不可能的。 一方面,REST 包含了太多模糊和模棱两可的定义。...REST API 规范能做什么? 尽管存在上面说到的缺点,但使用合理的方法,REST 仍然是创建真正优秀 api 的一个绝佳选择。...因为你通过高质量的 API 规范实现的 api 将会是一致的,具有清晰的结构、良好的文档和高的单元测试覆盖率。 通常,REST API规范与其文档相关联。...这将使使用你的 API 的开发人员感到轻松,并且肯定比手工填写 REST API 文档模板要好。

    29320

    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 类作为请求体的结构,方便快捷...但对于 POST 方法的 API,我们通常需要实现 RequestBody 接口,来定义该 REST 接口的请求体。...REST Handler 设计handler 是一个 REST API 接口的执行者,我们可以通过实现 handleRequest 方法来定义请求的处理逻辑。

    1.7K20

    Vue.js + Node.js + Express + MySQL示例:构建全栈CRUD应用程序

    后端服务器将Node.js + Express用于REST API,前端是带有Vue Router和axios的Vue客户端。...全栈CRUD应用程序架构 我们将构建一个如下体系结构的应用程序: ? Node.js Express导出REST API,并使用Sequelize ORM与MySQL数据库进行交互。...db.config.js导出MySQL连接和Sequelize的配置参数。 在server.js的Express Web服务器中,我们配置CORS,初始化并运行Express REST API。...我们还介绍使用Express&Sequelize ORM的REST API的客户端-服务器体系结构,以及用于构建前端应用程序以发出HTTP请求和使用响应的Vue.js项目结构。...to consume Web API example 分页: Server side Pagination in Node.js with Sequelize & MySQL Vue Pagination

    25K21

    带有 Python REST Web 服务示例的 REST API 快速入门指南

    REST 背后的主要思想是资源。您想要在 Web 应用程序中访问的所有内容都是一种资源,无论是您想要下载、更新、删除的媒体还是文档。REST 定义了一种访问、传输和修改这些资源的方法。...REST Web 服务 – 本节提供有关在 Python 中创建基本 REST Web 服务的分步说明 REST 基本概念 正如 REST 的发明者 Roy Fielding 在他的研究论文中所讨论的...创建 API 端点和 REST 方法 接下来,我们需要创建 api 端点和所需的 REST 方法,如下所示。 GET 方法将在文章列表中搜索请求的类别,如果找到则返回数据以及响应代码 200 OK。...def delete(self,category): 4.注册资源并分配URI 我们的最后一步是将我们的资源注册到 REST API 并为其分配一个 URI。...api.add_resource(Article, "/category/") TGS.run(debug=True,port=8080) 完整的 REST 示例程序

    2.2K00

    【API架构】REST API 设计的原则和最佳实践

    这是一个完整的图表,可以轻松理解 REST API 的原理、方法和最佳实践。 现在,让我们从每个盒子的原理开始详细说明它。...最佳实践 现在,让我们换个角度来了解 REST 的基本最佳实践,这是每个工程师都应该知道的。 保持简单和细粒度:创建模拟系统底层应用程序域或系统数据库架构的 API。...服务通过在响应(如 Cache-Control、Expires、Pragma、Last-Modified 等)上设置标头来提高缓存能力 分页:REST 的原则之一是连通性——通过超媒体链接。...当链接在响应中返回时,API 变得更具自我描述性。对于支持分页的响应中返回的集合,“first”、“last”、“next”和“prev”链接至少是有益的。...本文 https://jiagoushi.pro/principles-best-practices-rest-api-design 讨论:知识星球【首席架构师圈】或者加微信小号【cea_csa_cto

    1.4K10

    REST API URI 设计的七准则

    在了解 REST API URI 设计的规则之前,让我们快速过一下我们将要讨论的一些术语。 URI REST API 使用统一资源标识符(URI)来寻址资源。...REST API 设计人员应该创建 URI,将 REST API 的资源模型传达给潜在的客户端开发人员。在这篇文章中,我将尝试为 REST API URsI 引入一套设计规则。...REST API 不应该期望有一个尾部的斜杠,并且不应该将它们包含在它们提供给客户端的链接中。...应鼓励 REST API 客户端使用 HTTP 提供的格式选择机制,即请求 header 中的 Accept 属性。...URI 的名称和结构应该向消费者传达意义。通过遵循上述规则,你将创建一个更加清晰的 REST API。这不是一个 REST 规则或约束,而是增强了 API。

    1.4K40

    Google短网址的API

    2009年底,Google发布了短网址服务goo.gl。 ? Google声称: "......(这是)互联网上最稳定、最安全、最快速的短网址服务。" 有人做了比较,证明确实如此。 ?...从上图可以看到,goo.gl的响应和跳转时间是最短的。 除了速度快,goo.gl还提供详细的点击统计。...====================================== 但是当时,这个服务只供Google内部使用,不向外部使用者开放,大家只好眼睁睁地流口水。 上周,这个限制终于取消了。...Google宣布,正式公开goo.gl的API。这意味着,所有外部使用者都能利用它,得到自己想要的短网址。感兴趣的同学,可以自己去研究这个API,还是很简单的。...根据这个API,我写了一个"短网址生成器",欢迎访问,网址是: http://www.ruanyifeng.com/webapp/url_shortener.html 另外,我还提供一个Bookmarklet

    4.4K20

    Google JavaScript API 的使用

    入门 您可以使用JavaScript客户端库与Web应用程序中的Google API(例如,人物,日历和云端硬盘)进行交互。请按照此页面上的说明进行操作。...您的应用程序不必像第一个选项那样加载“发现文档”,但是它仍必须设置API密钥(并对某些API进行身份验证)。当您需要使用此选项手动填写REST参数时,它可以节省一个网络请求并减小应用程序大小。...启用Google API 接下来,确定您的应用程序需要使用哪些Google API,并为您的项目启用它们。使用API资源管理器浏览JavaScript客户端库可以使用的Google API。...要为您的项目启用API,请执行以下操作: 在Google API控制台中打开API库。如果出现提示,请选择一个项目或创建一个新项目。API库按产品系列和受欢迎程度列出了所有可用的API。...获取您的应用程序的访问密钥 Google定义了两个级别的API访问权限: 水平 描述 要求: 简单 API调用不会访问任何私人用户数据 API密钥 已授权 API调用可以读写私有用户数据或应用程序自己的数据

    3K20
    领券