1、先想一想Rest API的用途和场景
Rest API的常用场景:前后端分离,前端可多样化,还有与其他系统集成:RESTful API 可以与其他系统进行集成,例如第三方登录、支付和社交媒体平台等。
现在我们知道了如何使用 servlet 类创建 Web 应用程序。https://blog.csdn.net/luohaitao/article/details/136350129
我们知道如何获取用户输入、如何访问数据库以及如何处理用户登录。
https://blog.csdn.net/luohaitao/article/details/136438131
但是如果我们想要支持不同类型的程序而不仅仅是一个网络应用程序呢?如果我们要创建桌面应用程序或 Android 应用程序怎么办?我们如何为这些程序提供对我们数据的访问,而无需每次都从头开始编写所有内容?
图中:有一个数据库(也可以有多个数据库), REST API 将位于该数据库之上。它将使用 SQL 和 JDBC 与数据库交互,就像我们已经了解的一样。然后其他应用程序将调用您的 REST API,这使您可以将所有核心逻辑集中在一个地方,而不是每次想要创建新应用程序时都重写它。也就是将操作数据库的核心业务代码统一编写为REST API然后提供给各个应用。
换言之就是可以从多个应用程序访问我们的数据。REST API 是服务器代码(记住是服务器代码,因为是操作业务核心逻辑的),其工作是提供对您的数据的访问并执行诸如谁可以看到什么等规则。然后其他程序使用您的 REST API 与您的数据进行交互。
小结一下:Rest API服务器代码;用途,前后端分类、系统集成。
2、Rest API的特点和优点
特点:
无状态(Stateless):每个请求都是独立的,服务器不会在请求之间保留任何状态信息。
可缓存(Cacheable):对于不经常变化的资源,可以启用缓存提高性能。
分层系统(Layered System):可以通过代理服务器等中间件实现系统的扩展性和安全性。
优点:
1、定义清晰明了,每一个URI代表一个资源;
2、分工明确,前后端开发解耦,各干各的。
3、服务器压力减小,前后端部署不同的服务器。
4、相比webservice性能更好。REST+JSON风格的API相比SOAP+XML,调用更加灵活,也更容易扩展;JSON格式传输信息比XML减少约30%的数据量,效率更高。
3、看透Rest API的本质
REST API是一组规则的花哨名称,您可以遵循这些规则来构建一个 Web 应用程序,该应用程序以一种可被多个应用程序或多个相同用户重用的方式提供对数据的访问应用。REST 实际上并不涉及任何新的技术概念。它更多地是使用我们已经学过的概念的一种方式。
Java API是我们用来编写 Java 代码的类和函数的列表。你可以在MDN上查看 JavaScript 的 API 。API 是我们在编写代码时可以做的事情的集合。所以当我们说我们正在创建一个 REST API 时,我们只是意味着我们正在使用 REST 思想来创建程序员可以用来与我们的数据交互的东西。
参考资料:
https://blog.csdn.net/qq_27581819/article/details/135206232