1.说出当前线程中获取用户的的具体步骤?
在微服务业务场景下 我们的请求都会统一经过网关
前端携带token发送过来的请求首先会经过网关
网关拦截请求获取到token进行解析拿到用户id 根据id获取到用户信息 存入到ThreadLocal 在当前请求线程中可以随时拿到ThreadLocal中的任何数据
每个请求的ThreadLocal都是互相隔离的 互不影响
2.描述素材的作用是什么?
我们可以统一管理素材 方便其他业务来进行使用 比如发布文章的时候 可以从素材库直接选中需要的素材
3.描述文章发布的流程?
前端提交发布或保存为草稿的请求
先判断请求中是否包含了文章id
如果不包含id,则为新增文章
调用新增文章的方法
保存文章内容图片和素材的关联关系
保存文章封面图片和素材的关联关系 (如果封面选择无图 我们会根据文章内容的图片指定匹配封面的规则)
如果包含文章id 则为修改文章
先删除文章内容图片、封面图片和素材的关联关系
执行修改操作
重新保存文章内容图片和素材的关联关系
保存封面图片和素材的关联关系 (同上)
4.为什么要使用枚举?说下枚举的特点?
使用枚举可以规范参数的形式 可以有效的避免类型不匹配而带来的错误
可读性强 使代码更加优雅
5.图片上传如果过大,该如何处理?
修改Nginx服务器反向代理配置文件:client_max_body_size
springboot配置文件里面 添加如下配置
servlet:
multipart:
max-file-size: 500MB
max-request-size: 500MB
