前后端分离的接口实现方法及装置.pdf

上传人:g**** 文档编号:9310543 上传时间:2021-05-13 格式:PDF 页数:11 大小:576.89KB
收藏 版权申诉 举报 下载
前后端分离的接口实现方法及装置.pdf_第1页
第1页 / 共11页
前后端分离的接口实现方法及装置.pdf_第2页
第2页 / 共11页
前后端分离的接口实现方法及装置.pdf_第3页
第3页 / 共11页
文档描述:

《前后端分离的接口实现方法及装置.pdf》由会员分享,可在线阅读,更多相关《前后端分离的接口实现方法及装置.pdf(11页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010019143.2 (22)申请日 2020.01.08 (71)申请人 微梦创科网络科技 (中国) 有限公司 地址 100193 北京市海淀区东北旺西路中 关村软件园二期 (西扩) N-1、 N-2地块 新浪总部科研楼2层 (72)发明人 张恒阳徐晓飞孙蓉蓉 (74)专利代理机构 北京卓岚智财知识产权代理 事 务 所( 特 殊 普 通 合 伙 ) 11624 代理人 郭智 (51)Int.Cl. G06F 8/71(2018.01) (54)发明名称 一种前后端分离的。

2、接口实现方法及装置 (57)摘要 本发明实施例提供一种前后端分离的接口 实现方法及装置, 所述方法包括: 在接口的输入 端, 对输入的请求数据中每个请求参数的数据类 型进行限定, 并对需要进行用户验证的接口设置 用户验证; 在接口的输出端, 对所述请求数据对 应的返回数据添加时间戳字段以及接口版本号 字段, 并使用预先设定的数据层data文件对所述 返回数据进行数据过滤, 若所述返回数据的数据 变量为data文件中已声明的数据变量, 则返回所 述返回数据。 根据本发明的技术方案, 通过前后 端分离的模式, 前端和后端分工明确, 前端使用 的是异步请求的方式访问后端接口, 后端只需要 关系提供的。

3、接口数据正确, 不需要关心前端的代 码, 更加专注的输出数据。 权利要求书1页 说明书8页 附图1页 CN 111240734 A 2020.06.05 CN 111240734 A 1.一种前后端分离的接口实现方法, 其特征在于, 所述方法包括: 在接口的输入端, 对输入的请求数据中每个请求参数的数据类型进行限定, 并对需要 进行用户验证的接口设置用户验证; 在接口的输出端, 对所述请求数据对应的返回数据添加时间戳字段以及接口版本号字 段, 并使用预先设定的数据层data文件对所述返回数据进行数据过滤, 若所述返回数据的 数据变量为data文件中已声明的数据变量, 则返回所述返回数据。 2.。

4、根据权利要求1所述的一种前后端分离的接口实现方法, 预先设置注入依赖的容器, 在所述容器中声明数据输入、 输出过程中需要加载的模块, 其特征在于, 在模块加载时, 通 过模块路径追踪的方法进行路由匹配; 以及, 所述需要加载的模块中包括在满足预设条件时加载的中间插件, 所述中间插件 包括数据库以及log模块。 3.根据权利要求2所述的一种前后端分离的接口实现方法, 其特征在于, 通过设置规则 函数限定所述每个请求参数的数据类型以及限定是否需要进行用户验证。 4.根据权利要求3所述的一种前后端分离的接口实现方法, 其特征在于, 对于需要进行 用户验证的接口, 通过接入跨领域身份验证规范JWT系统。

5、设置用户验证。 5.根据权利要求1-4之一所述的一种前后端分离的接口实现方法, 其特征在于, 所述返 回数据以Json字符串的形式进行返回。 6.一种前后端分离的接口实现装置, 其特征在于, 所述装置包括: 输入单元, 设置在接口的输入端, 用于对输入的请求数据中每个请求参数的数据类型 进行限定, 并对需要进行用户验证的接口设置用户验证; 输出单元, 设置在接口的输出端, 用于对所述请求数据对应的返回数据添加时间戳字 段以及接口版本号字段, 并使用预先设定的数据层data文件对所述返回数据进行数据过 滤, 若所述返回数据的数据变量为data文件中已声明的数据变量, 则返回所述返回数据。 7.根。

6、据权利要求6所述的一种前后端分离的接口实现装置, 还包括加载单元, 用于预先 设置注入依赖的容器, 在所述容器中声明在数据输入、 输出过程中需要加载的模块, 其特征 在于, 在模块加载时, 通过模块路径追踪的方法进行路由匹配; 以及, 所述需要加载的模块中包括在满足预设条件时加载的中间插件, 所述中间插件 包括数据库以及log模块。 8.根据权利要求7所述的一种前后端分离的接口实现装置, 其特征在于, 所述输入单元 具体用于: 通过设置规则函数限定所述每个请求参数的数据类型以及限定是否需要进行用 户验证。 9.根据权利要求8所述的一种前后端分离的接口实现装置, 其特征在于, 所述输入单元 具体。

7、还用于: 对于需要进行用户验证的接口, 通过接入跨领域身份验证规范JWT系统设置用 户验证。 10.根据权利要求6-9之一所述的一种前后端分离的接口实现装置, 其特征在于, 所述 输出单元还用于: 将所述返回数据以Json字符串的形式进行输出返回。 权利要求书 1/1 页 2 CN 111240734 A 2 一种前后端分离的接口实现方法及装置 技术领域 0001 本发明涉及数据处理领域, 具体涉及一种前后端分离的接口实现方法及装置。 背景技术 0002 Laravel是一套简洁、 优雅的PHP Web开发框架(PHP Web Framework)。 它可以让你 从面条一样杂乱的代码中解脱出来。

8、; 它可以帮你构建一个完美的网络APP, 而且每行代码都 可以简洁、 富于表达力。 0003 在Laravel中已经具有了一套高级的PHP ActiveRecord实现-Eloquent ORM。 它 能方便的将 “约束(constraints)” 应用到关系的双方, 这样你就具有了对数据的完全控制, 而且享受到ActiveRecord的所有便利。 Eloquent原生支持Fluent中查询构造器(query- builder)的所有方法, 同时利用注入依赖的原理使得可以集成大量的第三方库。 0004 然而, 使用这个框架的需要懂得很多设计模式, 学习成本很大, 同时由于包含了太 多的依赖关系。

9、, 导致整个框架变多很大, 同时在响应(QPS)变得很慢, 部署麻烦, 对于前后端 分离项目太过臃肿。 发明内容 0005 本发明实施例提供一种前后端分离的接口实现方法及装置, 通过前后端分离的模 式, 前端和后端分工明确, 前端使用的是异步请求的方式访问后端接口, 后端只需要关系提 供的接口数据正确, 不需要关心前端的代码, 更加专注的输出数据。 0006 一方面, 本发明实施例提供了一种前后端分离的接口实现方法, 所述方法包括: 0007 在接口的输入端, 对输入的请求数据中每个请求参数的数据类型进行限定, 并对 需要进行用户验证的接口设置用户验证; 0008 在接口的输出端, 对所述请求。

10、数据对应的返回数据添加时间戳字段以及接口版本 号字段, 并使用预先设定的数据层data文件对所述返回数据进行数据过滤, 若所述返回数 据的数据变量为data文件中已声明的数据变量, 则返回所述返回数据。 0009 另一方面, 本发明实施例提供了一种前后端分离的接口实现装置, 所述装置包括: 0010 输入单元, 设置在接口的输入端, 用于对输入的请求数据中每个请求参数的数据 类型进行限定, 并对需要进行用户验证的接口设置用户验证; 0011 输出单元, 设置在接口的输出端, 用于对所述请求数据对应的返回数据添加时间 戳字段以及接口版本号字段, 并使用预先设定的数据层data文件对所述返回数据进。

11、行数据 过滤, 若所述返回数据的数据变量为data文件中已声明的数据变量, 则返回所述返回数据。 0012 上述技术方案具有如下有益效果: 0013 根据本申请的技术方案, 通过前后端分离的模式, 前端和后端分工明确, 前端使用 的是异步请求的方式访问后端接口, 后端只需要关系提供的接口数据正确, 不需要关心前 端的代码, 更加专注的输出数据。 同时, 每个接口用户输入的参数都会进行数据类型的约 束, 同时针对需要验证的接口, 开启验证开关, 保证系统的安全性; 输出端通过data文件过 说明书 1/8 页 3 CN 111240734 A 3 滤, 保证了系统输出的安全性与可靠性; 本系统完。

12、全轻量级, 部署及其简单, 同时学习曲线 极低, 由于系统的轻便, QPS可以达到很高。 附图说明 0014 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以 根据这些附图获得其他的附图。 0015 图1是本发明实施例一前后端分离的接口实现方法的流程图; 0016 图2是本发明实施例一前后端分离的接口实现装置的结构示意图。 具体实施方式 0017 下面将结合本发明实施例中的附图, 对本发明实施例中的技。

13、术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。 基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。 0018 缩略语和关键术语定义 0019 API: (Application Programming Interface, 应用程序接口)。 指软件系统不同组 成部分衔接的约定, 目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程 的能力 0020 web框架: Web应用框架(Web application framework)是一种开发框架, 用来支持 。

14、动态网站、 网络应用程序及网络服务的开发。 其类型有基于请求的和基于组件的两种框架 0021 协议: 为进行网络中的数据交换而建立的规则、 标准或约定。 0022 JSON: 是一种轻量级的数据交换格式。 0023 JWT: JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案 0024 如图1所示, 本发明提供的一种前后端分离的接口实现方法, 包括: 0025 101、 在接口的输入端, 对输入的请求数据中每个请求参数的数据类型进行限定, 并对需要进行用户验证的接口设置用户验证。 0026 优选地, 预先设置注入依赖的容器, 在所述容器中声明在数据输入、 输出过程中需 要。

15、加载的模块, 在模块加载时, 通过模块路径追踪的方法进行路由匹配; 即根据控制器 controller/文件class/模块method的方法进行路由匹配; 以及, 所述需要加载的模块中包 括在满足预设条件时加载的中间插件, 所述中间插件包括数据库以及log模块。 0027 本发明采取的是注入依赖模式去实现各个模块的加载, 注入依赖需要一个容器, 容器中声明需要加载的模块, 在项目启动时进行加载。 考虑到加载时候的效率, 本发明并没 有采用正则的方式去匹配路由, 而是有头部开始进行匹配, 根据controller/class/method 的方法进行匹配, 相比于正则, 这样节省了大量的时间,。

16、 提高了效率。 0028 进一步优选地, 通过设置规则函数限定所述每个请求参数的数据类型以及限定是 否需要进行用户验证。 对用户输入的强约束, 在用户请求的时候, 每一个参数都会进行约 束, 由于php的数据类型约束不强, 导致用户输入的数据严谨性下降, 针对于此, 每个接口用 说明书 2/8 页 4 CN 111240734 A 4 户输入的参数都会进行数据类型的约束, 同时针对需要验证的接口, 开启验证开关, 用户只 有输入正确的token才能访问api, 保证系统的安全性。 在每个controller中, 使用者可以制 定一个规则的函数, 规则函数的主要作用是制定本controller中。

17、的限制条件, 例如所接受 的请求方法是POST或者是GET, 所接受的请求参数的数据类型, 是否为必须, 该请求是否需 要提供可验证的token, 以确保用户的身份。 0029 进一步优选地, 对于需要进行用户验证的接口, 通过接入跨领域身份验证规范JWT 系统设置用户验证。 本发明鉴于针对前后端分离项目, 采取无状态的token方式, 解决了向 后端分离项目中用户状态问题和项目跨区等问题。 0030 102、 在接口的输出端, 对所述请求数据对应的返回数据添加时间戳字段以及接口 版本号字段, 并使用预先设定的数据层data文件对所述返回数据进行数据过滤, 若所述返 回数据的数据变量为data。

18、文件中已声明的数据变量, 则返回所述返回数据。 0031 本发明中加入data的概念, 针对接口所需要返回的数据进行过滤, 只有在data文 件中声明的数据变量才会输出, 保证了系统输出的安全性与可靠性。 0032 优选地, 所述返回数据以Json字符串的形式进行输出返回。 用户只需要定义好输 出的状态码和数据, 输出模块自动加上时间戳, api版本号等内容以Json字符串的形式输 出。 0033 优选地, 通过设置配置模块, 在配置模块中, 用户可以配置各类框架参数。 0034 如图2所示, 对应于上述方法, 本发明提供的一种前后端分离的接口实现装置, 包 括: 0035 输入单元21, 设。

19、置在接口的输入端, 用于对输入的请求数据中每个请求参数的数 据类型进行限定, 并对需要进行用户验证的接口设置用户验证; 0036 输出单元22, 设置在接口的输出端, 用于对所述请求数据对应的返回数据添加时 间戳字段以及接口版本号字段, 并使用预先设定的数据层data文件对所述返回数据进行数 据过滤, 若所述返回数据的数据变量为data文件中已声明的数据变量, 则返回所述返回数 据。 0037 进一步地, 还包括加载单元, 用于预先设置注入依赖的容器, 在所述容器中声明在 数据输入、 输出过程中需要加载的模块, 在模块加载时, 通过模块路径追踪的方法进行路由 匹配; 0038 以及, 所述需要。

20、加载的模块中包括在满足预设条件时加载的中间插件, 所述中间 插件包括数据库以及log模块。 0039 进一步地, 所述输入单元具体用于: 通过设置规则函数限定所述每个请求参数的 数据类型以及限定是否需要进行用户验证。 0040 进一步地, 所述输入单元具体还用于: 对于需要进行用户验证的接口, 通过接入跨 领域身份验证规范JWT系统设置用户验证。 0041 进一步地, 所述输出单元还用于: 将所述返回数据以Json字符串的形式进行输出 返回。 0042 应用举例如下: 0043 容器模块,在其中我们声明了实例, 在实例中我们绑定了配置模块, 请求模块, 输 出模块, 数据类模块以及数据库模块,。

21、 这样在框架运行的时候保证了以上模块的运行: 说明书 3/8 页 5 CN 111240734 A 5 0044 0045 0046 规则制定: 例如设置index方法接受的方法为POST和GET, 同时需要的请求参数是 name和password, 同时设定name为int类型且必须, password为string类型且必须, 同时这 个api接口authentication为false, 不需要验证: 说明书 4/8 页 6 CN 111240734 A 6 0047 0048 0049 中间件模块加载, 每个controller中可以按需加载中间件, 例如如下加载一个默 认的数据库, 。

22、按需加载保证了框架启动时候的效率: 0050 protected$middlewarearray(databasearray(); 0051 获取请求值,因为设定的rule中已经有参数的设定, 所以我们获取的方法只需要 知道参数名即可通过上下文获取参数值, 如果想获取其他参数, 可以通过$this-input- data数组中获取: 0052 $name$this-name; /获取再rule中声明的参数值 0053 $name$this-input-dataname; /获取其他值 0054 用户验证, 如果用户选择验证, 通过集成JWT库进行验证 说明书 5/8 页 7 CN 111240。

23、734 A 7 0055 0056 采用了本发明的框架, 开发人员更加专注于后端api的设计, 有更严谨的输入参 数, 更友好的输出, 集成无状态的token进行用户验证, 更好的针对移动端和前后端分离, 本 框架结构简单, 学习曲线极低。 0057 通过注入依赖模式去实现各个模块的加载, 高效的路由加载效率, 前后端分离项 目用户身份认证解决方案(JWT); 能根据接口设置对应的接口规则, 是项目更加严谨高效; 框架轻量, 学习曲线小。 0058 应该明白, 公开的过程中的步骤的特定顺序或层次是示例性方法的实例。 基于设 计偏好, 应该理解, 过程中的步骤的特定顺序或层次可以在不脱离本公开的。

24、保护范围的情 况下得到重新安排。 所附的方法权利要求以示例性的顺序给出了各种步骤的要素, 并且不 是要限于所述的特定顺序或层次。 0059 在上述的详细描述中, 各种特征一起组合在单个的实施方案中, 以简化本公开。 不 应该将这种公开方法解释为反映了这样的意图, 即, 所要求保护的主题的实施方案需要比 清楚地在每个权利要求中所陈述的特征更多的特征。 相反, 如所附的权利要求书所反映的 那样, 本发明处于比所公开的单个实施方案的全部特征少的状态。 因此, 所附的权利要求书 特此清楚地被并入详细描述中, 其中每项权利要求独自作为本发明单独的优选实施方案。 0060 为使本领域内的任何技术人员能够实。

25、现或者使用本发明, 上面对所公开实施例进 行了描述。 对于本领域技术人员来说; 这些实施例的各种修改方式都是显而易见的, 并且本 文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。 因此, 本公开并不限于本文给出的实施例, 而是与本申请公开的原理和新颖性特征的最广 范围相一致。 说明书 6/8 页 8 CN 111240734 A 8 0061 上文的描述包括一个或多个实施例的举例。 当然, 为了描述上述实施例而描述部 件或方法的所有可能的结合是不可能的, 但是本领域普通技术人员应该认识到, 各个实施 例可以做进一步的组合和排列。 因此, 本文中描述的实施例旨在涵盖。

26、落入所附权利要求书 的保护范围内的所有这样的改变、 修改和变型。 此外, 就说明书或权利要求书中使用的术语 “包含” , 该词的涵盖方式类似于术语 “包括” , 就如同 “包括, ” 在权利要求中用作衔接词所解 释的那样。 此外, 使用在权利要求书的说明书中的任何一个术语 “或者” 是要表示 “非排它性 的或者” 。 0062 本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块 (illustrative logical block), 单元, 和步骤可以通过电子硬件、 电脑软件, 或两者的结 合进行实现。 为清楚展示硬件和软件的可替换性(interchangeability), 上。

27、述的各种说明 性部件(illustrative components), 单元和步骤已经通用地描述了它们的功能。 这样的功 能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。 本领域技术人员 可以对于每种特定的应用, 可以使用各种方法实现所述的功能, 但这种实现不应被理解为 超出本发明实施例保护的范围。 0063 本发明实施例中所描述的各种说明性的逻辑块, 或单元都可以通过通用处理器, 数字信号处理器, 专用集成电路(ASIC), 现场可编程门阵列或其它可编程逻辑装置, 离散门 或晶体管逻辑, 离散硬件部件, 或上述任何组合的设计来实现或操作所描述的功能。 通用处 理器可以为微处。

28、理器, 可选地, 该通用处理器也可以为任何传统的处理器、 控制器、 微控制 器或状态机。 处理器也可以通过计算装置的组合来实现, 例如数字信号处理器和微处理器, 多个微处理器, 一个或多个微处理器联合一个数字信号处理器核, 或任何其它类似的配置 来实现。 0064 本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、 处理器执行的软 件模块、 或者这两者的结合。 软件模块可以存储于RAM存储器、 闪存、 ROM存储器、 EPROM存储 器、 EEPROM存储器、 寄存器、 硬盘、 可移动磁盘、 CD-ROM或本领域中其它任意形式的存储媒介 中。 示例性地, 存储媒介可以与处理器连接, 以使。

29、得处理器可以从存储媒介中读取信息, 并 可以向存储媒介存写信息。 可选地, 存储媒介还可以集成到处理器中。 处理器和存储媒介可 以设置于ASIC中, ASIC可以设置于用户终端中。 可选地, 处理器和存储媒介也可以设置于用 户终端中的不同的部件中。 0065 在一个或多个示例性的设计中, 本发明实施例所描述的上述功能可以在硬件、 软 件、 固件或这三者的任意组合来实现。 如果在软件中实现, 这些功能可以存储与电脑可读的 媒介上, 或以一个或多个指令或代码形式传输于电脑可读的媒介上。 电脑可读媒介包括电 脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。 存储媒介可以 是任何通用。

30、或特殊电脑可以接入访问的可用媒体。 例如, 这样的电脑可读媒体可以包括但 不限于RAM、 ROM、 EEPROM、 CD-ROM或其它光盘存储、 磁盘存储或其它磁性存储装置, 或其它任 何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、 或通用或特殊处理 器读取形式的程序代码的媒介。 此外, 任何连接都可以被适当地定义为电脑可读媒介, 例 如, 如果软件是从一个网站站点、 服务器或其它远程资源通过一个同轴电缆、 光纤电缆、 双 绞线、 数字用户线(DSL)或以例如红外、 无线和微波等无线方式传输的也被包含在所定义的 电脑可读媒介中。 所述的碟片(disk)和磁盘(disc)包括压缩。

31、磁盘、 镭射盘、 光盘、 DVD、 软盘 说明书 7/8 页 9 CN 111240734 A 9 和蓝光光盘, 磁盘通常以磁性复制数据, 而碟片通常以激光进行光学复制数据。 上述的组合 也可以包含在电脑可读媒介中。 0066 以上所述的具体实施方式, 对本发明的目的、 技术方案和有益效果进行了进一步 详细说明, 所应理解的是, 以上所述仅为本发明的具体实施方式而已, 并不用于限定本发明 的保护范围, 凡在本发明的精神和原则之内, 所做的任何修改、 等同替换、 改进等, 均应包含 在本发明的保护范围之内。 说明书 8/8 页 10 CN 111240734 A 10 图1 图2 说明书附图 1/1 页 11 CN 111240734 A 11 。

展开阅读全文
内容关键字: 后端 分离 接口 实现 方法 装置
关于本文
本文标题:前后端分离的接口实现方法及装置.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/9310543.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1