外卖项目--Springboot回顾Day1
外卖项目–Springboot回顾Day1
项目简单介绍和启动
前端通过nginx.exe直接启动
后端使用maven同一管理依赖版本
后端结构:
- -common 存放实体类
- -pojo 实体类,DTO(数据传输对象),VO(视图对象-返回给前端页面),POJO(普通JAVA对象-属性及对应的getter和setter方法)
- -sever 后端服务,Controller,Service,Mapper
1 | public Result<EmployeeLoginVO> login({} EmployeeLoginDTO employeeLoginDTO) |
后端返回的结果统一封装为Result
Nginx 反向代理
前端请求地址:http:// localhost/api/employee/login (默认端口80)
后端服务地址:http:// localhost/:8080/admin/employee/login
浏览器—————> Nginx ————–>Tomcat
Nginx反向代理:将前端发送的动态请求由Nginx转发到后端服务器
优点:
提高访问速度 (Nginx有缓存)
进行运载均衡:将大量的请求按照指定的方式均衡地分配给集群中的每台服务器
保证后端安全(隐藏后端地址)
Nginx策略
论调 | 默认 |
---|---|
weight | 权重,默认为1,权重越大,被分配的客户端请求越多 |
ip_hash | 依据ip,每个访客可以固定访问一个后端服务器 |
least_conn | 依据最少连接,吧把请求优先分配给连接少的服务器 |
url_hash | 依据url分配,相同的url分配到一个后端 |
fair | 响应时间,响应时间短的服务优先被分配 |
配置文件nginxconf
1 | server { |
完善登录功能
问题:员工表中的密码是明文存储,安全性太低
思路:使用MD5加密
- 修改数据库中的明文密码
- 修改Java,将前端提交的代码进行MD5加密后再存储
接口文档
接口管理平台: YApi
Swagger ——- 按照约定的规范去定义接口及接口相关信息,就可以生成接口文档以及在线接口调试页面(官网https://swagger.io/)
Knife4j是为JavaMVC框架生成的Swagger生产Api文档的增强解决方案
使用方式:
- 导入knife4j的maven坐标
- 在配置中加入knife4j的相关配置
- 设置静态资源映射,否则接口文档无法访问
1 | //WebMvcConfiguration.java |
常用注解
@Api | 用在类上,例如:Controller ,表对类的说明 |
---|---|
@ApiModel | 用在类上,例如:entity,DTO,VO,表对类的用途说明 |
@ApiModelProperty | 用在属性上,描述属性信息 |
@ApiOperation | 用在方法上,说明方法的作用和用途 |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.