目录
1.Spring Boot概述
Spring公司提供了若干个子项目,每个项目用于完成特定的功能,比如SpringBoot、SpringData、SpringCloud,其中最基础的就是Spring Framework
2.参数请求
参数请求和服务器响应(return)合称为请求响应
2.1简单参数&实体参数
2.2数组集合参数 
2.3日期参数
2.4路径参数
3.服务器响应数据
只要加上@RestController注解,方法的返回值就会作为服务器的响应,它们都属于功能接口,在需求文档中给出
@RestController
public class ResponseController {
@RequestMapping("/hello")
public String hello(){
System.out.println("Hello World ~");
return "Hello World ~";
} //返回值为字符串
@RequestMapping("/getAddr")
public Address getAddr(){
Address addr = new Address();
addr.setProvince("广东");
addr.setCity("深圳");
return addr;
} //返回值为对象
@RequestMapping("/listAddr")
public List<Address> listAddr(){
List<Address> list = new ArrayList<>();
Address addr = new Address();
addr.setProvince("广东");
addr.setCity("深圳");
Address addr2 = new Address();
addr2.setProvince("陕西");
addr2.setCity("西安");
list.add(addr);
list.add(addr2);
return list;
} //返回值为列表
上面的功能接口响应结果各式各样,在实际开发中成百上千的功能接口,不便于维护,所以需要给功能接口设计相同的响应模式,如下所示
4.JWT令牌
JWT全称为JSON Web Token,是一种用于身份验证的开放标准。它是一个基于JSON格式的安全令牌,主要用于在网络上传输声明或者用户身份信息
。JWT通常被用作API的认证方式,以及跨域身份验证。
JWT令牌由三部分组成,分别是头部(Header)、载荷(Payload)和签名(Signature)。头部包含了令牌使用的加密算法信息,载荷包含了所需传输的用户信息,签名用于保证令牌的完整性和真实性,防止令牌被篡改。
JWT特点:
- 可以跨语言、跨平台使用,因为它是基于JSON标准的
- 可以直接嵌入到HTTP请求头中,方便传输和验证
- 令牌的有效期可以通过设置过期时间来进行控制,提高了安全性
- 由于令牌中包含了用户信息,因此可以避免频繁查询数据库的情况出现,提高了系统的性能
JWT使用流程:
- 用户向服务器发送登录请求,服务器进行身份验证,如果验证成功则返回一个JWT令牌给客户端
- 客户端收到JWT令牌后,将其保存在本地。每次向服务器发送请求时,在请求的头部中携带该令牌,以便服务器对请求进行身份验证
- 服务器收到请求后,从请求头中提取JWT令牌,并进行解析和验证。如果令牌有效,则允许请求继续执行;否则返回错误信息
JWT 使用场景:
- 身份认证:在用户登录时生成 JWT,随后用于用户的身份验证。
- 授权控制:通过 JWT 令牌中声明的信息来判断用户的权限和角色。
- API 网关:在微服务架构中,JWT 用来在多个服务间传递认证信息,实现无状态的服务交互