目录
基础概念
1、MVC :代表一种软件架构设计思想,通俗的理解:客户端发送请求到后台服务器的Controller(C),控制器调用Model(M)来处理业务逻辑,处理完成后,返回处理后的数据到View(V)
2、Spring MVC: 是基于MVC设计思想实现的一种框架,它的核心是控制器Controller,所有控制器对象也会被Spring IOC容器管理
3、REST:Representational State Transfer 表述性状态传递,资源在网络中以某种表现形式进行状态转移
4、Restful:基于REST理念形成的一套开发风格,是具体的开发规则,规则示意图如下:
各类客户端发送RestFul风格的API 到后台服务器,服务器只返回数据到各个客户端,至于每种客户端怎么展示数据,由客户端决定。这有别于传统的Web应用,它会返回html(由servlet渲染)并且包含跳转逻辑,引入Rest 开发风格后,这些逻辑由客户端决定。
常用注解介绍
- @GetMapping 绑定GET请求,注解作用在方法上
- @PostMapping 绑定Post请求,注解作用在方法上
- @RequestMapping 通用注解,通常用在Controller上,用于请求URL的前缀
- @Controller 控制器类,作用在类上,@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面
- @ResponseBody 作用在方法上,标识返回实体对象,使用此注解后,方法返回的数据会直接写入HTTP响应体中。
- @RestController 作用在类上,此注解相当于 @Controller 和 @ResponseBody 的结合,此注解可以创建RESTful风格的数据,主要有get、post、put、delete等,可以方便地处理输出和输入的JSON或XML数据,适用于前后端分离的架构。
- @PathVariable ,作用在参数上,将URL中的路径参数绑定到方法的参数上
- @RequestParam,作用在参数上,请求参数
- @RequestBody,作用在参数上,用于获取请求体的数据,请求体可以放置各类数据(html,字符串,json,xml等)一个请求,只有一个RequestBody,但可以有多个RequestParam
对于每次请求的数据较多,参数较多,建议将请求数据放在http请求体中,多个参数建议封装成一个bean对象接收
- @CrossOrigin,作用在类或方法上,用于处理跨域资源共享(CORS)问题。通过额外的HTTP头来告诉浏览器允许来自不同源的服务器上的资源被访问。作用在类上,该类中的所有方法都启用跨域支持;作用在方法上,只会使该方法启用跨域支持