API概念

API的连接可分为两种方式
方式一:
将功能打包成架包给其他软件使用,这种方式称为SDK.
方式二(较多):
将功能暴露成接口,其他软件可以通过调用该接口实现功能,这种方式称为应用接口.

前后端分离模式

什么是前后端分离

前后端分离的开发模式中,前端与后端的耦合度降低,后端仅返回前端所需的数据,前端负责渲染HTML页面,职责分离,分工明确.

为什么要前后端分离

在传统的开发模式中,前端代码和后端代码耦合在一起,导致项目的可维护性降低,而前后端分离模式的诞生则是为了解决这些问题.

前后端分离的优缺点

1.分工明确,提高工作效率

​ 前后端各自分离,两者开发同时进行,提高开发效率

2.增强代码的可维护性和拓展性

​ 前后端分离后,降低了代码的耦合度,分层明确.

3.降低服务器负载,提升性能

​ 前后端分离可实现按需求加载数据,从而提高性能

PS: 前端服务器存放静态资源,需要数据时向后端发送ajks异步请求,后端接口服务器接收处理后返回json格式的数据,之后前端通过jquery将数据渲染到浏览器

RESTful 风格

什么是RESTful

REST是一种设计API的模式(风格)。最常用的数据格式是JSON。因为JSON能直接被JavaScript读取,所以使用JSON格式的REST风格的API具有简单、易读、易用的特点。

为什么需要RESTful 风格

统一开发者对API的设计习惯,让多个客户端基于相同的协议来调用该API接口即可获取数据

RESTful设计

1.网络上的所有事物都被抽象为资源

​ 每个资源都有一个唯一的资源定位符(URI)。每个URI代表一种资源(resource),所以URI中不能有动词,只能有名词,而且所用的名词往往与数据库的表名对应。

2.资源状态转换

​ 改变(服务器端)资源的状态:

​ 新增:从无到有 状态的变化

​ 更新:从某个状态变成另外一种状态的转换

​ 删除:从有到无 状态的变化

3.使用统一接口

​ 示例: http://www.xxx.com/employees

​ GET(SELECT):从服务器取出资源(一项或多项)。(如: /zoos )

​ POST(CREATE):在服务器新建一个资源。(如: /zoos)

​ PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。PUT更新整个对象 (如: /zoos/{id})

​ PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性【补丁】)。 PATCH更新个别属性 (如: /zoos/{id})

​ DELETE(DELETE):从服务器删除资源。 (如: /zoos/{id})

返回值-根据需求决定

PS: REST只是一种设计风格 , 而不是标准 , 只是提供了一组设计原则和约束条件主要用于客户端和服务器交互, 让设计者和使用更方便 , 让API更简洁, 更有层次 , 更易于实现缓存等机制

相关注解

@RestController

​ 由 @Controller + @ResponseBody组成

@PathVariable

​ 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx“) 绑定到操作方法的入参中。

@RequestMapping

@GetMapping

@PostMapping

@PutMapping

@DeleteMapping