所有文章 > 当前分类:API设计
如何让 Python 写的 API 接口同时支持 Session 和 Token 认证?
如何让 Python 写的 API 接口同时支持 Session 和 Token 认证?
2024/12/19
Django 是 Python 语言中最受欢迎的 Web 框架之一。其开箱即用的特性,使得我们可以利用它快速搭建一个传统的 Web 应用。在如今多端横行的互联网,单纯的传统 Web 应用开发已经越来越式微,更多的应用采用了前后端分离的 We...
用 AWS Smithy 构建下一代 API 服务
用 AWS Smithy 构建下一代 API 服务
【API设计】 自动化代码生成这种能减少工作量的事情一直是程序员们的最爱。如果某些代码片段不断重复自身,我们会用宏替换来减少这种重复,但如果涉及到大规模,架构级别的重复,那么我们倾向于用代码生成来解决这种重复。日常工作中,大家使用得比较多的代码生成工具有 ...
2024/12/19
Flask-Limiter:为 API 添加访问速率限制的 Python 扩展!
Flask-Limiter:为 API 添加访问速率限制的 Python 扩展!
【API设计】 今天要给大家介绍一款在构建安全且稳定的 API 服务时非常实用的 Python 扩展——Flask-Limiter。它就如同一位严谨的 API 流量管家,能够精准地控制对 API 端点的访问速率,无论是防止恶意攻击、保护服务器资源,还是确保...
2024/12/19
分布式系统核心:REST风格的架构,REST成熟度模型及REST API管理
分布式系统核心:REST风格的架构,REST成熟度模型及REST API管理
【API设计】 ◆ 成熟度模型 正确、完整地使用REST是困难的,关键在于RoyFielding所定义的REST只是一种架构风格,它并不是规范,所以也就缺乏可以直接参考的依据。好在Leonard Richardson补充了这方面的不足。 他提出...
2024/12/19
API的性能约定
API的性能约定
【API设计】 当今,任何软件系统都依赖于其他人的工作,可以参考《没有被了解的API?一个老码农眼中的API世界》。当然,我们写了一些代码,通过API调用操作系统和各种软件包中的函数,从而减少了代码量。随着分布式系统的日益普遍,我们的软件系统通过网络与服务...
2024/12/19
IOT语义互操作性之API接口
IOT语义互操作性之API接口
【API设计】 这个系列文章描述了一个单一的语义数据模型来支持物联网和建筑、企业和消费者的数据转换。 这种模型必须简单可扩展, 以便能够在各行业领域之间实现插件化和互操作性。 对于一个目前从事智能硬件的老码农,觉得这些文字具有积极的参考意义。这一部分讨论通...
2024/12/19
没有被了解的API?一个老码农眼中的API世界
没有被了解的API?一个老码农眼中的API世界
【API设计】 即便做了20多年的软件开发,仍然发现自己经常会低估完成一个特定的编程任务所需要的时间。有时,错误的时间表是由于自己的能力不足造成的: 当深入研究一个问题时,会发现它比最初想象的要难得多,因此解决这个问题需要更长的时间ーー这就是程序员的生活。...
2024/12/19
浅谈四种API设计风格(RPC、REST、GraphQL、服务端驱动)
浅谈四种API设计风格(RPC、REST、GraphQL、服务端驱动)
【API设计】 Web API设计其实是一个挺重要的设计话题,许多公司都会有公司层面的Web API设计规范,几乎所有的项目在详细设计阶段都会进行API设计,项目开发后都会有一份API文档供测试和联调。本文尝试根据自己的理解总结一下目前常见的四种API设计...
2024/12/19
SpringBoot中REST API的错误异常处理设计
SpringBoot中REST API的错误异常处理设计
【API设计】 RESTful API中的异常Exception处理有两个基本要求,需要明确业务意义的错误消息以及http状态码。良好的错误消息能够让API客户端纠正问题。在本文中,我们将讨论并实现Spring的REST API异常处理。 Restf...
2024/12/18
Flask-RESTful:最强Python Web服务框架,轻松构建REST API
Flask-RESTful:最强Python Web服务框架,轻松构建REST API
【API设计】 Flask-RESTful:最强Python Web服务框架,轻松构建REST API Flask 是 Python 中最受欢迎的轻量级 Web 框架之一,而 Flask-RESTful 是 Flask 的一个扩展,专门用于快速构建 ...
2024/12/17
杂谈-FastAPI中的异步后台任务之Celery篇
杂谈-FastAPI中的异步后台任务之Celery篇
【API设计】 前言 前些时间有人问起关于如何在FastAPI中进行异步任务的处理。对此也刚好有一定的使用经验,借此机会也谈谈一下。 异步任务实现方式 在FastAPI中的异步任务的方式有几种: 在FastAPI中,有以下几种方式可以处理...
2024/12/17
FastAPI-Cache2:一个让接口飞起来的缓存神器
FastAPI-Cache2:一个让接口飞起来的缓存神器
【API设计】 写过接口的小伙伴都知道,有些数据库查询特别费时,还有些计算逻辑贼复杂。每次请求都去算一遍,那接口响应速度慢得像蜗牛。这不,我发现了个宝贝 - FastAPI-Cache2 ,直接把接口响应速度提升好几倍,今天就跟大家唠唠它的使用秘诀。 ...
2024/12/17
API 的三种类型:REST、GraphQL 和异步 API 的优缺点分析
API 的三种类型:REST、GraphQL 和异步 API 的优缺点分析
【API设计】 导读:在这份学习指南中,我们将和大家一起了解 REST、GraphQL 和异步 API 的优缺点,以及这三种技术在现实生活中的理想用例。 API 在现代软件开发领域在发挥着举足轻重的作用。 目前,有三种主流类型的API,...
2024/12/15
大规模分布式架构中,怎样设计和选择 API 限流技术?
大规模分布式架构中,怎样设计和选择 API 限流技术?
【API设计】 一、为什么需要限流 我们为什么需要限流?相信你在设计所有系统的时候,都会首先问自己这样一个问题。API 限流需要解决的问题 之所以会有限流这个问题,是因为我们生活在一个资源有限的社会当中,当资源供不应求的时候,就会引发一...
2024/12/15
从Flask到FastAPI的平滑迁移
从Flask到FastAPI的平滑迁移
【API设计】 迁移 Flask 服务器以获得更好的性能和可维护性。 本文最初发布于 BetterProgramming,经原作者授权由 InfoQ 中文站翻译并分享。 本文将介绍 FastAPI 背后的基本概念,以及将 Flask 服务器过渡...
2024/12/13
前端 api 请求缓存方案
前端 api 请求缓存方案
【API设计】 在开发 web 应用程序时,性能都是必不可少的话题。对于webpack打包的单页面应用程序而言,我们可以采用很多方式来对性能进行优化,比方说 tree-shaking、模块懒加载、利用 extrens 网络cdn 加速这些常规的优化。甚至在...
2024/12/13