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

浅析 Open API 设计规范

站在业务角度,有一些指导原则,指导我们完善 Open API 机制: 前端页面使用的接口和 Open API 提供的接口是同一套接口 任意的前端页面接口都应该有对应的 Open API 站在技术角度,有很多的...站在团队角度,团队中的后端初级中级开发以及前端研发是否有足够的经验,领悟并落地好制定的 API 规范。同时,伴随着人员流动,这份 Open API 规范是否可以很好地被传承下去。...无论你如何看待 restful,下面我的论述,你都可以作为一个中立者,否则效果减半。...,而不应当携带属性) 响应码为 404 时,较难区分是真的 path 不存在,还是资源不存在 不利于对接网关等需要配置路由转发的场景 CSB 的 Open API 规范希望满足以下的需求: 后端开发设计接口时...,有明确的设计思路,不至于因为一个接口到底用 POST 还是 GET 实现而纠结,不用花费太多时间在资源的抽象上(这并不是说明资源是不需要被设计的) 前端开发对接接口时,能够较快地与后端协同,并且利于前端接口的封装

3.2K10

前后端不分离到分离演变,优势,前后端接口联调,排错及优化

这个步骤是系统架构从猿进化成人的必经之路。  核心思想是前端html页面通过ajax调用后端的restuful api接口并使用json数据进行交互。...举个例子,即使做了页面静态化之后,前端依然还是有不少需要实时从后端获取的信息,这些信息都在不同的业务系统中,所以需要前端发送5、6个异步请求来。...3.性能得到提升: 大家应该都知道单一职责原则。从该角度来看,我们,请求一个页面,可能要响应很多个后端接口,请求变多了,自然速度就变慢了,这种现象在mobile端更加严重。...8.如果页面上有一些权限等等相关的校验,那么这些相关的数据也可以通过ajax从接口里拿。 9.对于既可以前端做也可以后端做的逻辑,我建议是放到前端,为什么?...在独立的前端工程工程中同样会碰到一个问题:前端页面如何比较好的获取用户超时状态来退出登录?本文介绍使用自定义响应头字段来解决这个问题。

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

    【玩转全栈】—— Django 连接 vue3 保姆级教程,前后端分离式项目2025年4月最新!!!

    本文基于之前的一个旅游网站,实现 Django 连接 vue3,使 vue3 能携带 CSRF Token 发送 axios 请求给后端,后端再响应数据给前端。想要源码直接滑倒底部。...然而,在前后端分离的应用场景下,前端可能是一个独立运行的Vue.js、React或其他JavaScript框架开发的应用,这种情况下,获取和使用CSRF Token需要一些额外的工作,比如通过特定的API...然而,在前后端分离的架构中: 前端和后端是独立运行的。 前端可能不会直接加载 Django 提供的页面,因此无法自动获取 CSRF Token。...请求与相应 前端如何发送请求给 Django,Django 又如何相应数据给前端? 请求 前面讲的 前端获取 csrf-token 其实就是响应。...配置 Vite 代理后,再使用 axios 发送请求给 Django: 这里我再给个示例: 前端通过 /api/ask 发送请求,携带 CSRF Token 请求头,将用户输入的 question 以

    96910

    翻译|前端开发人员的10个安全提示

    虽然敏感数据可能被安全地锁在后端仓库中,但前端掌握着前门的钥匙,窃取它们通常是获得访问权限的最简单方法。 后端和前端之间共同承担保护用户数据的责任。...在本文中,我将介绍10种简单的操作,可以通过这些简单的操作来改善对Web应用程序的保护。 测量结果 在我们开始改善网站安全性之前,重要的一点是要对我们所做更改的有效性提供反馈。...就像我们使用Lighthouse获取性能,SEO和可访问性分数一样,我们可以使用 SecurityHeaders.com根据当前响应头获取安全分数。 ?...关于响应头的说明 处理响应头曾经是后端的任务,但是如今,我们经常将Web应用程序部署到Zeit或Netlify等“无服务器”云平台,并配置它们以返回正确的响应标头成为前端责任。...确保了解你的云托管提供商如何使用响应头,并进行相应配置。 下面来看一下具体的安全措施有哪些。 1.使用强大的内容安全策略 完善的内容安全策略(CSP)是前端应用程序安全的基石。

    1.2K71

    App Google一键登录

    hl=zh-cn 点击登录(使用一键登录) Google的文档写的还是比较详细的,推荐大家还是先把文档看明白。...可以通过 Android Studio 中的 Android SDK 管理器获取此 SDK。 配置为针对 Android 4.4 (KitKat) 或更高版本进行编译的项目。...前期安卓和IOS引入响应的SDK之后,前端就可以获取到ID_TOKEN //大致返回的数据结构就是这个样子的 { "msg":"无", "data":{ "userId"...,前端的任务就已经完成了,后面就是后端的代码实现了。...在发送id_token之前都是由安卓进行实现的,注意这里别有误区,后端这边只需要负责验证 ID 令牌的完整性 所以文档可以直接从这里往下看 废话少说,直接上代码 首先引入需要的依赖 <!

    5.8K72

    最近学到的前后端分离知识

    取了一个名字叫:Node.js 比如通过libuv库来进行文件读取,以及建立TCP/UDP连接。通过xxx库解析HTTP请求和响应….这些库都是由C/C++来编写的。 ?...JSP本质上还是一个Servlet,只不过看起来像HTML文件,在编译的时候还是会变成一个HttpJspPage类(该类是HttpServlet的一个子类) 再后来,学到了AJAX技术,发现我们完全可以通过...我们可以直接将纯静态文件放到Nginx(CDN)等等地方【只要能够响应HTTP请求就行】。 如果请求是调用后端服务,则经过Nginx转发到后端服务器,完成响应后经Nginx返回到浏览器。...URL请求统一分发到Node Server,在Node Server中根据请求类型从后端服务器上通过RPC服务请求页面的模板数据,然后进行页面的组装和渲染; API请求则直接转发到后端服务器,完成响应。...最后 好的,现在问题来了:你是觉得Node.js归属在后端还是前端? 看得不过瘾?

    1.1K20

    前端 VS 后端

    用户喜欢明亮的主题还是暗黑主题? 我们考虑很多东西 -- 从用户的视图层面。这就是为什么我说前端是有关视觉的。 我们为用户着想。然后我们为他们构建产品。...后端是有关通信 让我具体一点。当我说到后端,我指的是前端和数据库之间的层。它也是前端和你需要通信的任何API之间的层(如果它通过你自己的服务器)。...当你构建一个后端时,你就像电话接线员。你把东西连接起来就可以了。 当我们构建后端时,我们会问如下的问题: 我们需要从前端那里得到什么信息? 我们应该传什么信息到数据库/API?...在数据库/API上的操作是否正确保存? 数据库/API返回什么信息呢? 我们应该返回什么信息给前端? 我们是在渲染网页吗?如果是,我们应该呈现哪个网页? 当信息错误或错失时,我们应该怎么做?...不同的心理模型 这是我在学习后端的早期观察到的一种常见模式: 我会假设事情向着特定的方式运行 我会在Google上搜索,如何通过我想到的具体方式来实现东西 (Google结果也许是空) 我会破解它并构建自己的基础设施

    39110

    【译】前端 VS 后端

    用户喜欢明亮的主题还是暗黑主题? 我们考虑很多东西 -- 从用户的视图层面。这就是为什么我说前端是有关视觉的。 我们为用户着想。然后我们为他们构建产品。...后端是有关通信 让我具体一点。当我说到后端,我指的是前端和数据库之间的层。它也是前端和你需要通信的任何API之间的层(如果它通过你自己的服务器)。...当你构建一个后端时,你就像电话接线员。你把东西连接起来就可以了。 当我们构建后端时,我们会问如下的问题: 我们需要从前端那里得到什么信息? 我们应该传什么信息到数据库/API?...在数据库/API上的操作是否正确保存? 数据库/API返回什么信息呢? 我们应该返回什么信息给前端? 我们是在渲染网页吗?如果是,我们应该呈现哪个网页? 当信息错误或错失时,我们应该怎么做?...不同的心理模型 这是我在学习后端的早期观察到的一种常见模式: 我会假设事情向着特定的方式运行 我会在Google上搜索,如何通过我想到的具体方式来实现东西 (Google结果也许是空) 我会破解它并构建自己的基础设施

    62520

    一个后端程序员的前端之路

    所谓创业带来机遇、财富、梦想在现实中其实就是人少、钱少、活多,虽然我还是个后端程序员,但是这个界定已经没有那么明显了,偶尔还是会写点HTML。...和前端协商 API 以及页面模板中要返回什么的样的数据,这是创业时做后端程序员经常要做的。...起初,前端需要什么样的数据后端就直接给,前端不懂后端的逻辑,后端也看不懂那些复杂的 JavaScript 和 CSS。...前端希望数据都可以灵活的输出,而后端为了统一严格限制了 API 的职责,此时前端不得不多次调用不同的 API 进行再次组装。...这个分歧其实就是 Facebook 出品的 graphql 要解决的,而在当时我和前端都是无解的。 有了这个分歧,我开始关注前端是如何构建和使用后端的数据,换位思考站在前端的角度去想问题。

    1.1K50

    :第十五章 - 传统开发模式下的 axios 使用入门

    这里 data 属性显示的就是整个的用户数据集合,在实际使用中,你需要与 http 响应状态码进行结合,考虑如果后端出现错误如何使前端知晓,从而相对友好的通知用户。...3、拦截器   在前后端分离的项目中,我们一般采用 Jwt token 的方式进行权限控制。前端在获取数据之前,需要从后端获取到 token 令牌。...这里因为我并没有实现后端 token 验证,所以这里就只是进行一个演示,你可以从浏览器的控制台中看到只要我们发起一个 http 请求,就会输出的我们打印的信息。...在每一个通过 axios 发起请求的 then 回掉方法中,我们都需要对获取到响应状态码进行判断,判断接口的调用是否成功。   ...至此,在现阶段的 Vue 学习使用中,对于一些基础知识点就已经完成了一个初步的梳理,接下来,从下一章开始,我会从 0 开始通过 Vue CLI 去搭建一个前端的项目模板,因为自己并不是一个前端开发人员,

    1.6K30

    Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现

    那么将服务器的本地工作目录渲染到前端页面上是必须要实现的部分,其中通过后端API读取本地目录,获取文件信息和文件系统层级数据是篇博客将要谈到的主要内容。...本文会从后端获取数据开始,还有一篇博客去讲如何通过后端获取的数据,使用el-tree将其在前端页面上渲染成美观的文件目录。...这里是项目额外写了个JsonResult的全局类,项目的所有API都用JsonResult类型来返回相应类型,其中包括响应状态码、响应信息以及响应数据。...postman测试没有问题之后,后端API就可以确定写好了,剩下的就是在前端进行数据渲染。...前端主要使用el-tree来渲染:Tree 树形控件 | Element Plus 二、总结 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题

    37900

    边缘服务的一致性、耦合和复杂性

    因为路径在 RESTful API 中被用于标识一个特定的实体,所以请求和响应的格式不应该发生明显的变化。...同时拥有前端和后端开发人员的团队也可能缺乏效率。虽然从理论上讲,前后端开发人员处在同一个团队中,但在前端和后端开发人员之间仍然存在分界线。...由于解析器位于属性级别,而且获取底层数据的机制可能一次性获取多个属性,因此存在重复获取相同数据的可能性,造成了浪费。这就是所谓的 N+1 问题。后端代码应该用某种类型的请求缓存来缓解这个问题。...以下是不同层的分类以及每个层应该关注什么。 通常来说,在现代商业软件中,最主要的层是前端和后端。 前端软件的直接交互对象是用户,通常运行在移动设备或笔记本电脑上。...4 现代技术栈 大约在六年前,我发现了一种所谓的 BFF 边缘服务。客户端应用程序不会直接调用数据服务,而是通过中间服务来调用,中间服务专门用来满足客户端应用程序的需求。

    1.1K10

    再谈数据中台是什么以及MLSQL为什么可以作为数据中台

    我个人认为传统大数据的服务模式严重压制了人们对数据的需求,甚至连最简单的【取数】都要以天响应时间计算,所以很多模式要重构。而中台的产生则是这种模式重构的产物。...这也得益于后端的微服务化,以及类似k8s调度的兴起,让后端抗压能力越来越水平。印证了我前面说的,数据中台是前端,后端,数据发展的共同产物。 数据中台是可编程的。...数据中台是产品,运营,商务,分析师,后端,前端,算法,数据研发们的日常工作台,同时他们也可以把自己的写的脚本(工作)在数据中台里直接对外提供成API,简单的form表单,从而实现和其他的服务交互。...当然,从数据中台要解决的问题,我是认同前文作者提到的三点的: 效率问题:为什么应用开发增加一个报表,就要十几天时间?为什么不能实时获得用户推荐清单?...我们希望后台能进行更好的数据积累,稳步前进,不受前端影响太大,同时从中台获取帮助,从中台获取前台传导的诉求。我们也希望人能更好的和数据,和计算进行交互,并且通过中台更加高效的和前台,后台协作。

    1.1K20

    BuildAdmin20:前端项目如何设计一个异步API请求模块

    开始讲解,分析为什么一个传统的项目逐步演变成了今天流行的 Kubernetes(K8s)集群部署架构 前言 在前后端分离的架构中,后端负责封装api接口,前端负责请求api接口。...我通常使用Springboot来开发后端,在前端项目中就要实现api请求模块。 在之前拆解BuildAdmin的项目中,因为一直在构建前端页面的各个模块,就没有开发后端接口。...后面就打算开始后端开发,例如菜单的请求、数据页面的渲染等等。那么前端如何请求这些后端接口呢,所以这边篇文章还是来封装一个前端的接口请求模块。...我们通过process.env从 .env.dev 等配置文件中,获取接口的baseURL。使用responseType来约定后端返回的是json格式的数据。...这样我们就从axios.ts中获取了一个Promise对象。接着我们看看如何针对于前端中的每个需要从数据请求的组件,来设计一个api模块。

    42920

    bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序

    通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序一样。...特别是在当今的移动时代,单页程序如果放在移动设备上去浏览就能够拥有像native app一样的体验,也许我们web开发者们应该期待这种技术的大力普及,这样不管前端还是后端都是我们的天下啊,让那些Andrioid...好吧,废话不说了,我们会从0开始搭建这样一个单页的web站点,并且会向大家展示我们标题所列的这些开源框架是如何帮助我们快速构建的。...,通常为了安全和用户体验是需要后端和前端都要实现验证的。...而且最好的方法是我只用传id过去就可以了。   通过google,我找到一个叫Patch的玩意, 它也是一种http verb,并且同样也是提供更新操作。

    1.3K50

    浅谈前后端分离(下篇)

    很多公司认为采用前后端分离之后,前后端只需要通过指定API进行交互即可,前端负责页面渲染,Nodejs负责路由分配,后端提供API。...(PS:还是基础不够导致的!) 3、后端API是否Restful风格?...项目开发阶段,前后端分离是各自分工,协同敏捷开发,后端提供Restful API,并给出详细文档说明,前端人员进行页面渲染前台的任务是发送API请(GET,PUT,POST,DELETE等)获取数据(json...我觉得引入nodejs主要是为了分层开发,职责划分,nodejs作为前端服务器,由前端开发人员负责,前端开发人员不需要知道java后台是如何实现的,也不需要知道API接口是如何实现的,我们只需要关心我们前端的开发工作...I/O密集型操作,在处理并发量比较大的请求上能力比较强,因此,利用它来充当前端服务器,向客户端提供静态文件以及响应客户端的请求,我觉得这是一个很不错的选择。

    1.3K10

    bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序

    通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序一样。...特别是在当今的移动时代,单页程序如果放在移动设备上去浏览就能够拥有像native app一样的体验,也许我们web开发者们应该期待这种技术的大力普及,这样不管前端还是后端都是我们的天下啊,让那些Andrioid...好吧,废话不说了,我们会从0开始搭建这样一个单页的web站点,并且会向大家展示我们标题所列的这些开源框架是如何帮助我们快速构建的。...而且最好的方法是我只用传id过去就可以了。   通过google,我找到一个叫Patch的玩意, 它也是一种http verb,并且同样也是提供更新操作。...WEB API的验证   基本上任何系统都避免不了与验证打交道,除非那个系统压根不从用户那里获取数据。

    1.1K50

    Vue.js 和 Vite 之父:Evan You从谷歌工程师到开源先锋的故事

    在 Google 工作期间,Evan 参与了 Google Feedback 和 Google Drive 等产品的前端工作。 工作之余,Evan 喜欢研究各种新前端技术。...Evan 说,当时开发 Vue 的最大动力,就是他对 API 设计的热情。他先会思考前端框架的 API 应该如何设计,然后再思考如何实现这些 API。...那时,Meteor 使用自己开发的 Blaze 作为前端框架。Blaze 的理念跟 Vue 有一些相似之处,比如都有细粒度的响应式系统。...更容易被后端开发者接受。Vue 允许直接在 HTML 中编写模板,然后通过 JavaScript 使其变成动态的。这对主要做后端的开发者来说,能够更简单上手。...看到 Vue 从几年前小众的个人项目,发展成一个拥有强大生态系统和广泛影响力的前端框架,Evan 也感到欣慰。这证明了他一直以来对前端框架设计的理念和坚持是正确的。

    3.5K20

    从Java全栈到Vue3实战:一场真实面试的深度技术对话

    比如RESTful API还是GraphQL? **应聘者**:主要是RESTful API,因为它的标准化程度高,也容易调试。...那如果用户点击“加入购物车”,你是如何处理这个逻辑的? **应聘者**:前端会发送一个POST请求到`/cart/add`,携带商品ID和数量。后端接收到请求后,会验证库存并更新购物车信息。...然后前端再重新获取购物车数据,更新UI。...**应聘者**:我觉得我在全栈开发中有比较全面的能力,既能处理后端的业务逻辑,也能独立完成前端页面的设计与实现。...他不仅掌握了Java的核心语言特性、JVM机制、Spring Boot等后端技术,还在前端开发中展现了良好的实践能力,包括使用Vue3的响应式系统、组件通信、状态管理以及RESTful API的设计与实现

    6510

    前后端分离实践

    当后端不提供页面,只是纯粹的通过 Web API 来提供数据和业务交互能力之后,Web 前端就成了纯粹的客户端角色,与 WinForm、移动终端应用属于同样的角色,可以把它们合在一起,统称为前端。...前端开发人员会受到项目/产品经理或客户的直接影响:这个地方应该放个按钮,那个操作应该这么进行……; 前端还要与美工对接——这样的设计不好实现,是否可以改成那样?...,比如 表示 API 调用成功, 表示调用失败,其中 表示需要登录、 表示未获取授权……对于这个定义,前端拿到响应之后,就可以在应用框架层进行一些常规处理,比如当 为 的时候,弹出登录窗口请用户在当前页面登录...以 EasyUI 为例的好多 UI 库都支持为组件配置数据 URL,它会自动通过 AJAX 来获取数据,但对数据结构有要求。...如果前端部分和后端部分同源,比如页面发布在 ,而 Web API 发布在 ,这种情况下,原来的一体式 Web 方案所采用的 Cookie/Session 方案可以直接迁移过来,毫无压力。

    1.6K91
    领券