一:接口架构风格—RESTful
1. 认识RESTful
(1)接口
①接口: API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。 用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。
②接口(API):可以指访问servlet, controller的url, 调用其他程序的函数。
(2)架构风格
(3)REST架构风格
REST : 是一种接口的架构风格和设计的理念,不是标准。(英文: Representational State Transfer , 中文: 表现层状态转移)
①表现层状态转移:
表现层:就是视图层, 显示资源的, 例如:jsp等显示操作资源的结果。
状态: 表示资源的变化。
转移: 资源可以变化的;资源能创建(new状态)、资源创建后可以查询资源(能看到资源的内容)、资源内容可以被修改(修改后资源 和之前的不一样)。
②REST中的要素:用REST表示资源和对资源的操作
资源使用URL表示,通过名词表示资源。
使用http中的动作(请求方式), 表示对资源的操作(CURD)GET: 查询资源 ---> sql select
POST: 创建资源 ---> sql insertPUT:更新资源 ---> sql update
DELETE: 删除资源 ---> sql delete
如果需要分页、排序等参数,依然是通过?的形式放在url的后面
2. RESTful 的注解
①@PathVariable,用来获取url中的数据;该注解是实现RESTFul最主要的一个注解!
②@GetMapping,接收get方式的请求;等同于@RequestMapping( method=RequestMethod.GET)。
③@PostMapping,接收和处理Post方式的请求;等同于@RequestMapping( method=RequestMethod.POST) 。
④@PutMapping,接收put方式的请求;等同于 @RequestMapping( method=RequestMethod.PUT)。
⑤@DeleteMapping,接收delete方式的请求;等同于 @RequestMapping( method=RequestMethod.DELETE)。
⑥@RestController复合注解, 是@Controller 和@ResponseBody组合;在类的上面使用@RestController , 表示当前类者的所有方法都加入了 @ResponseBody。
①在类上使用@RestController复合注解,作用时把当前类交给Spring容器管理,并且在该类下面的每个方法都默认加上@ResponseBody。
②使用GetMapping注解发送get请求,我们知道Restful风格的请求路径中是没有变量的,所以要先使用{变量名}定义路径变量,在使用路径变量@PathVariable注解引用路径变量;例如:queryStudent(@PathVariable(value = "stuId") Integer stuId),表示把路径变量传过来的值赋给stuId变量。