大家好,我是鱼皮,封面是本人。咳咳
此前我在星球里已经全程直播带大家完成了 2 个项目,并且给大家分享了简历的写法。
这次,打算带大家做点不一样的,我们来搞一个网上找不到的项目 —— API 开放平台。
不是博客、管理系统、不是电商项目、不是 RPC 阿巴阿巴,而是一个真实的企业级的项目(或者叫产品),所以一般按照正常路线学习的话是接触不到这类项目和知识的。
下面给大家介绍一下,也会讲到不少知识点。
在了解 API 开放平台前,先要明确什么是 API。
通俗地说,API 即接口,也就是我们后端同学提供的产物,比如查询某一天的天气、查询某地理位置附近的店铺,这些都是 API。
如果我们只是自己做一个小项目,比如学生管理系统,那么基本上对于学生的增删改查接口,都是我们自己开发的。但是在企业中开发,我们经常需要跨团队合作,可能需要其他团队提供接口给我们来调用,从而可以复用其他系统现有的能力。
比如我们现在想做一个人脸识别 APP,但显然我并不懂人脸识别、AI 之类的技术,但是我们可以直接使用别人开发好的 API(第三方 API)来实现这个功能,这就为我们开发提供了极大的方便,解耦了算法和工程。
随着各团队开发的 API 数量越来越多,API 的管理、维护、监控会越来越复杂,因此我们需要一个统一的平台来管理这些 API,也就是 API 管理平台。
而如果你管理的这些 API 需要提供给 外部的开发者 来调用,就需要有一个对外开放的 API 管理平台,允许外部访问、申请调用,即 API 开放平台。
如今,网上有非常多的 API 开放平台,有免费的也有收费的,比如搏天 API、腾讯地图 API、腾讯云 API 等等:
拜他们所赐,我们开发应用的成本大大降低了。
了解什么是 API 开放平台后,我们一起来思考一下,怎么做一个 API 开放平台?简单么?
API 接口平台最直接的功能就是让开发者调用管理员发布的接口,单纯实现接口调用很简单,用个 HTTP Client 就可以了。
但是!真实情况可比这复杂多了,要考虑很多点,比如:
等等等等。。
要想解决或预防这些问题,必然是需要一些架构设计和技术知识的。
而这次,我会全程直播、手把手带大家解决上述问题,从 0 到 1 做一个标准、规范的 API 开放平台。
这次带大家做的项目会包括如下功能:
界面可能会有点像 Swagger 接口文档:
整个项目的架构可能比大家预想的会更复杂,不是一个单体系统,而是包含 5 个子项目 ,分别是:用户前台、后台管理系统、API 网关、客户端 SDK、模拟接口项目。
如图:
看到这个图,大家可能就已经 get 到了:这个项目侧重于后端,包含较多的编程技巧、编程思想、后端业务逻辑、架构设计层面的知识,不再是一个简单的增删改查项目了!
举个例子,我会给大家详解如何 快速开发一个完整的基础管理系统 (前端 + 后端,熟练后 10 分钟搞定)、用 API 签名认证 提升接口安全性、如何用 API 网关 全局业务处理和鉴权、如何通过 Spring Boot Starter 开发易用的客户端 SDK 等等。
用的依然是主流的、最新版本的技术栈。
前端:Ant Design Pro(最新版本)+ React 18 + Ant Design 组件库 + Umi 框架
后端:Java + MySQL + MyBatis-Plus + SpringBoot 2.7.x(包含 Starter 开发)+ Knife4j + Hutool 等
这个项目适于学习过后端开发技术(比如 Java Web),希望做一个区别于管理系统的、有亮点的、写在简历上加分的项目,并提升自己的编程能力、编程思想和架构设计能力的同学。
全程直播开发
其实这个项目已经做了 4 期了(近 10 个小时),也是得到认可后才敢给大家推荐哈哈。
给大家免费试看第一期完整版,觉得有收获的朋友,可以跟着我做完后续项目~
指路:https://www.aliyundrive.com/s/aVM4LrYQAGa,提取码: lu32
做项目的过程中,我也全程帮大家记录了笔记,便于学习:
大家有任何关于项目的问题,也都可以通过向我或其他做项目的小伙伴提问得到解决,不需要像看网上某些项目教程一样,踩坑的时间比学习还长。
最后声明,这个项目是我在自己星球里带大家做的完整项目,如果大家想要学习的话,欢迎加入我的 编程知识星球 —— 一个帮助你学编程、少走弯路、手把手带你做项目的编程学习圈子。
加入后可见所有项目的往期直播回放、实时笔记和最新源码,并且我会 1 对 1 解决你的问题、帮你规划学习和求职路线。
可以加我微信 yupi5927,备注【加入星球】和自己的情况 领取优惠 加入星球,不备注不通过,非诚勿扰谢谢。
也可以直接扫下方二维码体验,卷起来!
往期推荐