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

激荡二十年:HTTP API 的变迁

2005-2010:从混沌到有序 — Ruby on Rails 横空出世 然而,成也萧何败也萧何,脱胎于 Web 开发的 PHP,与 Web 的亲和性是其优势,也是其后续没落的原因 —— 毕竟,当 Web...这一次,我试图从 OpenAPI v3 spec 出发,构建一切可以自动化生成的代码,甚至包括 API 的测试。...比如用户只能修改自己的帖子,但可以读别人的帖子这样的业务需求,如果没有 RLS,很难从数据库级别直接安全地实现。...看到这里,有经验的同学可能会质疑:API 的数据源又不止于数据库,如果数据来源于 gRPC 服务器,那又该如何? 好问题!此刻我们需要修改 CREATE API 的描述,使其明确表达其数据源是什么。...展望未来 过去二十年,API 的发展从无序走向有序,从自由发挥走向遵循协议,从无拘无束走向谨遵类型安全,每一次进化都让 API 从构建到部署到退休的整个生命周期变得更加成熟,同时 API 撰写的难度和所需要的技巧都在不断下降

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

    RubyOnRailsStart —— Ruby on Rails 入门最佳开源实战项目

    Rails MVC 架构、CRUD 开发、RESTful API、分页插件、局部模板 等核心技能。...无论你是零基础入门 Ruby on Rails,还是想通过 Demo 快速回顾 Rails 开发流程,这个仓库都能帮你快速上手,并且方便随时查阅、参考和复用。...为什么选择 RubyOnRailsStart 完整章节覆盖 —— 从 Hello World 到复杂的 RESTful API,全流程演练。...篇掌握 RESTful 风格路由 及命名路由设计使用 respond_to 同时支持 HTML 与 JSON 返回(Rails API 开发)Ajax 请求与 Rails API 无缝对接 运行与开发环境语言...API 实战经验 的项目实践者❤️ 加入我们作为一个 完全开源的 Ruby on Rails 学习项目,我们欢迎所有开发者贡献代码、修复 bug、优化文档、提出新功能建议。

    26010

    C#的MVC, Web API, Web Forms

    在C#的Web开发领域,MVC(Model-View-Controller)、Web API和Web Forms是三种主要的架构和设计范式。...每种技术都有其独特的特点和应用场景,了解它们的差异和用法对于构建现代、高效的Web应用程序至关重要。本文将深入探讨这三种技术的工作原理、核心概念、使用场景以及如何在实际开发中应用它们。...使用场景构建RESTful服务:Web API是构建RESTful服务的理想选择。跨平台交互:Web API可以被各种客户端(如浏览器、移动应用)调用。...后拉加载:页面加载时,服务器端代码先运行,然后发送HTML到客户端。使用场景快速开发:Web Forms提供了大量的服务器控件,可以快速开发Web应用程序。...简单的交互式Web页面:适合构建简单的数据展示和表单提交页面。安装与配置Web Forms是.NET Framework的一部分,无需额外安装。

    5.2K00

    框架分析(6)-Ruby on Rails

    例如,Rails会根据命名规范自动映射URL路径到控制器和动作,减少了手动配置路由的工作。...RESTful路由 Rails框架支持RESTful风格的路由,通过简单的配置,可以将URL路径与控制器和动作进行映射。这使得开发人员可以更容易地创建符合RESTful设计原则的API接口。...大量的插件和Gem支持 Rails拥有一个庞大的插件生态系统,开发人员可以通过安装插件或使用Ruby的包管理器Gem来扩展框架的功能。...特别是对于从其他编程语言或框架转换过来的开发人员,可能需要一些时间来适应Ruby的语法和Rails的开发模式。...灵活性受限 Rails框架提供了一套固定的开发模式和规范,这在一定程度上限制了开发人员的灵活性。有时候,如果需要实现一些非常定制化或特殊的功能,可能需要绕过框架的约定,编写更多的自定义代码。

    3.7K20

    不要学习“网红”编程语言

    从 2000 年开始,到该时代中期,Ruby 受欢迎程度在 TIOBE 指数评级中逐渐达到顶峰,人们认为 Ruby 还有它的旗舰级 Rails 框架,可以大大提高生产力。...从 2008 年引进,到 2013 年替换掉,Groupon 在这个坑里挣扎了 5 年。而在同一时期,备受扩展性问题困扰后,Twitter 也放弃了 Ruby on Rails。...最近十年来,现代 SaaS 方案中的 API 几乎都不提供官方 Ruby 客户端或 SDK。 形成鲜明对比的是,Java、JavaScript、Python 甚至是 Rust 可都在支持之列。...在所有 HubSpot API 实施意见中,Ruby 版本的人气(根据 stars 和 forks 判断)和更新频率都是最低的。...我能想到的诞生于 2010 年之后、而且运行在 Ruby 或 Rails 上的成功厂商就只有 Stripe(2011 年)和 Gitlab(2014 年)。

    3.3K30

    开发一个 Web 项目的完整流程:从需求确认到上线

    常用的方法包括: 用户故事:将需求转化为用户故事,描述用户希望如何使用系统。 需求优先级:根据用户需求的重要性和紧急性进行排序,确定优先开发的功能。...架构设计涉及到的内容包括: 技术栈选择:根据项目需求选择合适的前端和后端技术,例如 React、Vue.js、Node.js、Django、Ruby on Rails 等。...API 集成:与后端开发人员协作,集成 RESTful API,实现数据的获取和提交。 3.2 后端开发 后端开发负责实现业务逻辑和数据存储。...主要步骤包括: API 设计与实现:根据前端需求设计和实现 RESTful API,包括请求处理、数据验证和响应格式。 数据库操作:实现与数据库的交互,执行 CRUD(创建、读取、更新、删除)操作。...构建与打包:根据生产环境的需求,构建前端和后端项目,生成可部署的代码包。 5.2 上线部署 将项目部署到生产环境,主要步骤包括: 数据迁移:将开发和测试环境中的数据迁移到生产环境,确保数据一致性。

    61510

    2021年最受程序员欢迎的开发工具TOP 100名单出炉!

    用他自己的话说,FastAPI是一个现代、快速(高性能)的网络框架,用于Python 3.6+构建API,基于标准的Python类型提示。.../ 33.NocoDB 免费并且开源的Airtable替代方案,链接:https://www.nocodb.com/ 34.JetBrainsQodana 评估你拥有的、合同或购买的代码的完整性,链接:...、交付、监控和扩展网络应用和API,拥有开拓性的开发者经验,链接:https://stackshare.io/tool/heroku/decisions 4.AWS Lambda 自动运行代码以响应对Amazon...S3 bucket中的对象的修改、Kinesis流中的消息或DynamoDB中的更新,链接:https://stackshare.io/tool/aws-lambda/decisions 5.Microsoft...、测试和调试Android应用程序所需的API库和开发者工具,链接:https://stackshare.io/tool/android/decisions 4.Kotlin 以JVM和JavaScript

    4K10

    RESTful 架构详解

    REST本身并没有创造新的技术、组件或服务,而隐藏在RESTful背后的理念就是使用Web的现有特征和能力, 更好地使用现有Web标准中的一些准则和约束。...不过很多人直接把POST、GET、PUT、DELETE直接对应上CRUD,例如在一个典型的rails实现的RESTful应用中就是这么做的。...又例如下面这个例子,创建订单后通过链接引导客户端如何去付款。 ? 上面的例子展示了如何使用超媒体来增强资源的连通性。很多人在设计RESTful架构时,使用很多时间来寻找漂亮的URI,而忽略了超媒体。...这些类似"下一页"之类的链接起的就是这种推进状态的作用——指引你如何从当前状态进入下一个可能的状态。 3....本文从资源的定义、获取、表述、关联、状态变迁等角度, 试图快速理解RESTful架构背后的概念。

    1.4K20

    RESTful架构详解 转

    REST 本身并没有创造新的技术、组件或服务,而隐藏在RESTful背后的理念就是使用Web的现有特征和能力, 更好地使用现有Web标准中的一些准则和约束。...不过很多人直接把POST、 GET、PUT、DELETE直接对应上CRUD,例如在一个典型的rails实现的RESTful应用中就是这么做的。...又例如下面这个例子,创建订单后通过链接引导客户端如何去付款。 ? 上面的例子展示了如何使用超媒体来增强资源的连通性。很多人在设计RESTful架构时,使用很多时间来寻找漂亮的URI,而忽略了超媒体。...这些类似“下一页”之类的链接起的就是这种推进状态的作用——指引你如何从当前状态进入下一个可能的状态。 3....本文从资源的定义、获取、表述、关联、状态变迁等角度, 试图快速理解RESTful架构背后的概念。

    1.4K31

    为什么现在已经有超过500万的开发者选择了ASP.NET Core?

    Phone、Windows Store、Silverlight和.NET MicroFramework等,它们分别对移动、平板和嵌入式设备提供支持。...与此同时,通过借助于Mono和Xamarin,.NET已经可以被成功移植到包括Mac OS X、Linux、iOS、Android和FreeBSD等非Windows平台。...与此同时,随着整个互联网行业的分布式与跨平台的呼声愈发强烈,除了框架自身越来越臃肿之外,如何实现从强依赖Windows系统,到可以任意平台运行,这也是摆在微软面前的另一座大山。...ASP.NET Core的优势具体可以梳理为以下几个方面: 生成Web UI 和Web API的统一场景:ASP.NET Core天生基于RESTFUL风格,每个Url直接对应到具体的资源上,对资源的增删改查都默认走...按照循序渐进的顺序对这些项目进行介绍,从项目分离设计出发到AOP日志与缓存、接着集成单元测试保证代码正常稳定运行,最后真机部署发布,搭建一个完整的博客站点网站,手把手带大家完成从新手到高阶开发工程师的蜕变

    1.8K41

    web框架在什么程度上受限 ?

    1、问题背景提问者计划构建一个 RESTful web 服务,该服务将只使用 JSON/XML 接口,不包含 GUI。...该服务将使用数据库,但是对于某些重要的操作,没有明确的方法可以将“模型”对象直接存储到数据库表中。此外,还需要完全控制数据何时以及如何写入数据库。...但鉴于 Django 和 Rails 中编写的网站数量,质疑者怀疑自己是否完全错了,是否可以通过像 Django 或 Rails 这样的框架轻松完成任何事情,或者根据自己的需求是否应该使用 web.py...RESTful 路由非常简单,但如果 REST 的特定 Rails 风格不满足需求,则路由是完全可配置的。在 Rails 应用程序中,可以使用默认设置的任意多或任意少,并且可以在所有级别进行重新配置。...例如,如果查看 Django 的功能集:除了使用像 Werkzeug 或 CherryPy 这样的更简单的东西无法从 Django 中获得什么部分来实现基于 HTTP 的 web 服务?

    1.7K10

    MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(2)-Swagger框架集成

    Swagger是一个规范且完整API文档管理框架,可以用于生成、描述和调用可视化的RESTful风格的 Web 服务。...Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。...Swagger应用场景 如果你的 RESTful API 接口都开发完成了,你可以用 Swagger-editor 来编写 API 文档( yaml 文件 或 json 文件),然后通过 Swagger-ui...如果你的 RESTful API 还未开始,也可以使用 Swagger ,来设计和规范你的 API,以 Annotation (注解)的方式给你的源代码添加额外的数据。...Swashbuckle.AspNetCore.SwaggerUI:Swagger UI 工具的嵌入式版本。 它解释 Swagger JSON 以构建描述 Web API 功能的可自定义的丰富体验。

    1.8K20

    用Swagger调用Harbor Registry的REST API

    笔者做了少量修改。 Swagger简介 Swagger是最流行的RESTful API开源工具,包含一整套代码库、编辑器、代码生成器等,可用于API的描述、定义、生成以及可视化等方面。...Harbor还提供RESTful API,其他容器管理平台可以很方便地集成Harbor的功能。本文介绍如何使用Harbor内嵌的Swagger工具,调用和测试RESTful API。...首先,我们来看看Swagger如何描述和定义RESTful API。...Harbor项目采用两种方式供用户使用Swagger来展现或操控RESTful API。 一种是“静态方式”,仅用Swagger来作为Harbor RESTful API 的展现和查阅工具。...用户只需从Harbor项目docs/目录下找到swagger.yaml文件,用编辑器打开,全选、复制,粘贴到Swagger在线编辑器的左侧代码区,右侧就会呈现出可视化的Harbor RESTful API

    2.7K20

    披着“可信外衣”的钓鱼陷阱:HubSpot平台如何被黑客变成企业邮箱的“特洛伊木马”?

    ,其中隐藏重定向脚本或伪装登录框;批量发送:导入从暗网购买的企业高管、财务人员邮箱列表,启动自动化发送。...HubSpot为其客户邮件自动添加DKIM签名,密钥托管在其基础设施中。DMARC:定义“验证失败后怎么办”DMARC策略告诉接收方:若SPF或DKIM任一失败,应如何处理(隔离、拒绝或放行)。...更棘手的是,HubSpot的落地页(Landing Page)功能允许用户自定义HTML/JS代码。...三、从“发件人可信”到“内容可疑”:邮件安全范式的根本转变面对此类“寄生式钓鱼”,依赖发件人信誉的防御模型已显疲态。安全社区正在推动一场从“来源中心”向“内容中心”的范式迁移。...四、企业该如何自救?

    14710

    全栈开发中的技术选型决策:快速上线与扩展的平衡

    本篇文章将探讨如何根据项目需求进行合理的技术栈选择,并分享关键的权衡点和实践经验。同时,结合 Java 示例代码展示一种常见的全栈架构方案,帮助开发者更好地理解选型背后的逻辑。...基于 Spring Boot 和 Vue.js 的全栈架构以下是一个简单的 Java 全栈开发架构示例,使用了 Spring Boot 构建后端 API 和 Vue.js 实现前端交互。...后端代码:Spring Boot 示例以下代码使用 Spring Boot 构建了一个简单的 RESTful API 服务,返回一个固定的欢迎消息。...前端代码:Vue.js 示例前端代码利用 Vue.js 框架与后端交互,动态展示从 API 获取的消息。...Spring Boot 提供了快速构建后端服务的能力,具有强大的生态和社区支持。Vue.js 是一款轻量级且灵活的前端框架,适合构建快速上线的应用。如何处理跨域问题?

    91332

    如何使用Gitlab CICD快速集成Kubernetes

    本文面向具有一定gitlab和K8S使用经验的读者 持续集成,持续部署和持续交付是现代开发团队中越来越受欢迎的主题。 它们共同使团队能够在任何提交时构建,测试和部署代码。...这些方法的主要好处是能够通过自动化管道更频繁地发布更高质量的代码。 困难的部分是建造这样的管道。 我们需要选择,学习,安装,集成和维护各种工具。...从源代码管理到问题跟踪和CI,我们发现一切都在一个屋檐下,完全集成并随时可用,如下图所示: ?...在本文我们将在Kubernetes集群上创建一个使用GitLab CI构建,测试和部署的Spring Boot应用程序。...Spring Boot允许开发人员构建生产级独立应用程序,如典型的CRUD应用程序,以最少的配置公开RESTful API,从而大大减少了使用Spring Framework所需的学习曲线。

    4.1K20
    领券