API-EXPLORER项目开发笔记(一)

news2024/11/23 19:11:29

文章目录

  • 前言
  • 一、我为什么要做这个项目?
  • 二、项目简单介绍
  • 三、项目技术栈
  • 总结


前言

最近接触到了接口平台这个东西,非常感兴趣,于是就想自己也动手做一个具备核心功能的接口平台,本篇文章主要介绍了做这个项目的初衷以及简单介绍了一下这个项目的核心内容和使用的技术栈。


一、我为什么要做这个项目?

一直想做一个新颖的项目,不同于在学校时做的管理系统。接口平台通常是知名企业才会建设和提供的,主要功能有接口注册、接口转发、接口监控、接口文档、在线调试等功能。同时,也是想借助这个项目学习一下API签名认证、网关、RPC、分布式等后端知识,扩展自己的技术栈和架构设计能力。在升华一下,有机会参与到企业级的接口平台建设之中,统一所有接口的管理和转发,提高开发者的效率。


二、项目简单介绍

1.提供API接口供开发者调用的平台,基于SpringBoot+Dubbo+SpringCloudGateway的全栈微服务项目。
2.管理员可以接入并发布接口、统计分析各接口调用情况、编辑接口文档、接口监控、设计接口权限。开发者可以在线调试、浏览接口文档、并利用我们开发好的SDK一行调用接口平台的相关接口。

可能有些人对接口平台这个东西有点陌生,这里可以参考一下腾讯云API平台,可以看到腾讯云API平台支持接口文档说明、代码示例、以及在线调用等功能。
在这里插入图片描述
在这里我们特别关注一下这个在线调用和SDK,可以看到腾讯云的接口平台做的还是非常完整的,不仅有示例代码还有SDK的说明,那什么是SDK呢?可以理解为别人写好的工具类,我们拿来就直接可以用了,类似给了你一根吸管,用这根吸管可以吸到杯子里的具体东西。
试想一下,如果你让开发者调用接口平台中上线的接口,开发者还要自己封装HTTP请求、还要考虑鉴权等一系列问题,开发者的体验是多么差。如果你提供一个SDK,开发者引入这个SDK之后,只需要关注调用哪个接口以及传什么参数即可,不需要像以前一样去封装一堆东西。
在这里插入图片描述在这里插入图片描述
当然,如果要开发一个和腾讯云API一样的平台显然是不现实的,我们在这里只要基本的功能给做完,领悟到核心的思想即可。管理员可以上线和下线接口,给用户分配接口调用次数,开发者可以浏览接口文档、在线调试,并且能够下载我们封装好的SDK,直接通过SDK一行调用第三方接口即可,然后还可以做一下统计分析的页面,例如调用次数前三的接口(用一些echarts图表组件)。


三、项目技术栈

后端的主要技术栈:

  1. SpringBoot框架:在spring框架基础之上开发的框架,其设计目的是用来简化应用的初始搭建以及开发过程。
  2. API签名认证:如果我们为开发者提供了一个接口,却对调用者一无所知,那将极其危险。所以我们需要对请求接口的人进行签名认证,只有通过API签名认证才允许放行
  3. SpringBootStarter (SDK开发):让开发者更方便使用SDK,我们给它提供一个starter
  4. Dubbo分布式(RPC、Nacos)
  5. SpringCloudGateway微服务网关:统一路由、统一鉴权、统一日志、统一业务处理。

前端技术栈
ES6、vue、vuex、vue-router、vue-cli、axios、element-ui、数据可视化(echarts图表)


总结

本篇文章的内容不多,主要讲解了一下这个项目的背景。在后续的文章中,作者将会介绍整个项目的架构,并且动手开发这个项目中的各个功能模块,最后在将整个项目部署出来。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1986422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DispatcherServlet 源码分析

一.DispatcherServlet 源码分析 本文仅了解源码内容即可。 1.观察我们的服务启动⽇志: 当Tomcat启动之后, 有⼀个核⼼的类DispatcherServlet, 它来控制程序的执⾏顺序.所有请求都会先进到DispatcherServlet,执⾏doDispatch 调度⽅法. 如果有拦截器, 会先执⾏拦截器…

自动获取ip地址什么意思?电脑ip地址怎么设置自动获取

在当今数字化时代,网络连接已成为我们日常生活和工作中不可或缺的一部分。然而,对于非技术用户而言,复杂的网络配置常常令人望而生畏。幸运的是,自动获取IP地址(Dynamic Host Configuration Protocol, DHCP&#xff09…

小白入门机器学习被劝退的4大原因,你中了哪一个?

hi,喵老师🐱来啦。 很多小白朋友,尤其是准研究生、文科生,刚开始接触机器学习之后常常在短时间内就「入门即放弃」了。 其实背后主要的原因无非那么几个,今天喵老师就给大家盘一盘,看看你是哪一种&#x1…

SemanticKernel/C#:使用Ollama中的对话模型与嵌入模型用于本地离线场景

前言 上一篇文章介绍了使用SemanticKernel/C#的RAG简易实践,在上篇文章中我使用的是兼容OpenAI格式的在线API,但实际上会有很多本地离线的场景。今天跟大家介绍一下在SemanticKernel/C#中如何使用Ollama中的对话模型与嵌入模型用于本地离线场景。 开始…

redis面试(七)初识lua加锁脚本

redisson redisson如何来进行redis分布式锁实现的源码&#xff0c;基于redis实现各种各样的分布式锁的原理 https://redisson.org/ 这是官网 https://github.com/redisson/redisson/wiki/Table-of-Content 这是官方文档 开始 demo 建一个普通的工程在pom.xml里引入依赖 <…

CFA CAIA最新道德手册第14版+道德案例手册(2024年最新原创写的内容,上一版还是10年前14年写的)

纯原创CFA CAIA最新道德手册第14版道德案例手册&#xff08;2024年最新原创写的内容&#xff0c;上一版还是10年前14年写的&#xff09; standards 是CFA三个级别和CAIA两个级别重中之重&#xff0c;2014年的版本太过老旧&#xff0c;现在协会发布了新考纲&#xff0c;自己原创…

LVS(Linux virual server)

目录 一.集群和分布式简介 1.系统性能扩展方式 2.集群Cluster 3.分布式 4.集群和分布式 二.lvs(Linux virtual server) 运行原理 1.lvs介绍 2.lvs集群体系结构 3.LVS概念 4.lvs集群的类型 nat模式 nat模式数据逻辑 lvs-nat模式原理及部署方法 实验环境部署 实验流程…

Proxy302:你的一站式代理IP解决方案

一、Proxy302介绍 Proxy302&#xff0c;一款优秀的全球代理IP平台&#xff0c;以按需充值的灵活方式、覆盖广泛的代理类型及直观高效的用户上手体验与界面设计&#xff0c;赢得了市场广泛认可。Proxy302亮点不仅在于其功能的强大&#xff0c;更在于其对用户体验的深刻理解和不…

代发考生战报:7月26号北京考试通过 HCIP-Cloud云计算 H13-527

代发考生战报&#xff1a;7月26号北京考试通过 HCIP-Cloud云计算 H13-527 &#xff0c;考试遇到4个新题&#xff0c;剩下都是题库里的&#xff0c;但是没打高分&#xff0c;可能题库里的答案有问题&#xff0c;但是能考过就行&#xff0c;挺满足的&#xff0c;就是把题库都背会…

IT知识库文档查找与学习:rfc文档

RFC文档查找 RFC&#xff08;Request for Comments&#xff09;文档是互联网工程任务组&#xff08;Internet Engineering Task Force, IETF&#xff09;发布的一系列备忘录&#xff0c;旨在提供互联网技术和应用的标准、规范、指南和最佳实践。RFC文档是互联网发展的基石&…

小怡分享之String类的小练习

前言&#xff1a; &#x1f308;✨之前小怡给大家分享了String类&#xff0c;今天小怡给大家分享String类的一些小习题。 1.第一个只出现一次的字符 思路&#xff1a; 遍历字符串&#xff0c;把对应字符位置的下标开始计数&#xff0c;count[字符-‘a’]&#xff1b;再次遍历…

数模——灰色关联分析算法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 文章目录 前言 一、基本概念了解 1.什么是灰色系统&#xff1f; 2.什么是关联分析&#xff1f; 二、模型原理 三、建模过程 1.找母序列&#xff08;参考序列&am…

力扣面试150 逆波兰表达式求值 栈 模拟栈

Problem: 150. 逆波兰表达式求值 &#x1f468;‍&#x1f3eb; 参考题解 class Solution {//纯数组模拟栈实现(推荐) 3 ms 36 MBpublic static int evalRPN(String[] tokens) {int[] numStack new int[tokens.length / 2 1];int index 0;for (String s : tokens) {swit…

常见中间件漏洞(二、WebLogin合集)

目录 二、WebLogic Weblogic介绍 2.1 后台弱口令GetShell 漏洞描述 影响范围 环境搭建 漏洞复现 2.2 CVE-2017-3506 漏洞描述 影响版本 环境搭建 漏洞复现 2.3 CVE-2019-2725 漏洞描述 影响版本 环境搭建 漏洞复现 2.4 CVE-2018-2628 漏洞描述 漏洞影响 环…

STM32学习笔记2 --- GPIO输入

目录 AD/DA 按键 传感器模块 传感器模块细节 按键模块电路 传感器模块接入电路 OLED ​编辑 代码 封装驱动代码 GPIO读取函数 按键控制LED代码 部分解释 光敏传感器代码 部分解释 接线图 c知识补充 AD/DA AD&#xff1a;模拟-数字转换 DA&#xff1a;数字-模拟…

使用Idea进行Java开发断点打不进去

我在进行打断点时 出现了这个问题导致我无法进行断点测试 问题原因&#xff1a; 打的断点太多了 &#xff0c;导致线程冲突 解决办法 &#xff1a; 删除之前打完未去掉的断点 完美解决 Nice&#xff01; 有可能会不小心点到断点失效键&#xff0c;断点有可能会变成灰色 则为无…

【系统分析师】-综合知识-企业信息化与系统规划

1、一个有效的客户关系管理&#xff08; Customer Relationship Management,CRM&#xff09;解决方案应具备畅通有效的客户交流渠道、对所获信息进行有效分析和&#xff08;CRM 与 ERP 很好地集成&#xff09;等特点。 通过将&#xff08;人力资源、业务流程与专业技术&#x…

uniapp连接手机调试App,并最终打包成apk文件,和上传到应用商店的问题

对于一些刚开始使用uniapp开发app的同学来说&#xff0c;有时候仅仅是第一步连接手机进行开发测试都很难进行。这篇文章就来向大家介绍一些怎样连接手机进行调试我们开发中的项目&#xff0c;并最终将开发好的项目打成apk包进行安装&#xff0c;和将开发好的App应用上传到应用商…

【递归】用递归的方法求阶乘

用递归的方法求 阶乘&#xff0c;这里我们以 求5&#xff01;为例&#xff0c;使用C语言实现 #include<stdio.h>int fact(int n){if(n1){return 1;}elsereturn n*fact(n-1); }int main(){int result;resultfact(5);printf("5的阶乘是 &#xff1a;%d",result)…

宝众宝达IPO终止:原实控人去世时间矛盾,婚外情主角任总经理

近日&#xff0c;上海证券交易所披露的信息显示&#xff0c;江苏宝众宝达药业股份有限公司&#xff08;下称“宝众宝达”&#xff09;及其保荐人中信建投证券撤回上市申请文件。因此&#xff0c;上海证券交易所决定终止对其首次公开发行股票并在主板上市的审核。 据贝多财经了解…