1.在我们到企业后有项目时要如何快速熟悉项目模块
1.先要- 阅读原型文档+需求文档PRD(Product Requirements Document) 2. 阅读表结构 3.- 页面点击访问感受 4.- 阅读对应模块代码,熟悉代码风格和规范 在接口定义要符合接口风格的知道什么功能比如: GET :查询 POST: 新增 PUT : 修改 DELETE: 删除 同时还要知道所有的接口返回值都是ResponseResult. 3.后端开发流程 1.- 需求分析(基于原型和PRD) 2 开发计划(工期评估) 3 表结构设计(基于原型和PRD) 4 接口设计(基于原型和PRD) 5 功能实现(基于接口设计+原型+PRD) 6 前后端联调 7 测试提bug 8 前后端优化,再联调 9 测试回归bug 10 功能验收 一. #### 接口四要素 一个接口有四个基本要素分别是:请求路径 请求方式 接口入参(请求参数) 接口出参(响应参数)
-
接口入参(请求参数)
-
参数
- 问号查询传参---->后端形参接收
- path传参---->后端PathVariable注解接收
-
请求体参数
- 前端:json对象
- 后端:对象接收,DTO
- 接口出参(响应参数)
-
统一格式
{code:200,msg:"成功",data:{}} -
数据封装,一般为VO
- 敏感数据过滤
- 整合数据
-
在功能开发时有依赖版本冲突可以输入此依赖是在根目录下的依赖 org.mybatis mybatis 然后在子类的依赖配置里输入:这个依赖结合你项目用了 MyBatis-Plus(MP),加这个排除的核心目的是 避免版本冲突: org.mybatis mybatis 以及下面这个依赖配置: com.baomidou mybatis-plus-boot-starter 3.5.15
** 注意:maven窗口刷新,才会加载最新依赖配置**
同时还要在application.yml中的MyBatis配置加上 mybatis-plus: 在功能开发时可以使用Mybatis版本方法 也可以使用MybatisPlus版本的方法实现功能
先自己本地利用apifox进行自测,自测没问题后再做前后端联调测试 (也可以用Swagger) Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化restful风格的web服务 它的主要作用是:
- 使得前后端分离开发更加方便,有利于团队协作
- 接口的文档在线自动生成,降低后端开发人员编写接口文档的负担
- 功能测试
Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox,即可非常简单快捷的使用Swagger。
knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名knife4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍!
目前,一般都使用knife4j框架。
-
项目中的全局异常是如何处理的?
-
全局异常处理逻辑
一般项目开发有两种异常:
- 预期异常(程序员手动抛出)
- 运行时异常
-
- BaseException 基础异常,如果业务中需要手动抛出异常,则需要抛出该异常
- 其中BaseException中的参数为一个枚举,可以在BasicEnum自定义业务中涉及到的异常
- GlobalExceptionHandler 全局异常处理器
-
程序员手动抛出业务异常
当功能新增失败的时候,可以直接抛出BaseException
-
不可知异常处理
,在文件上传的接口中,如果上传文件失败,则可以抛出RuntimeException异常,由于RuntimeException异常不是自定义异常,一旦触发就是走全局异常处理器的未知异常
结论:
- 一旦文件上传失败,则会走全局异常处理器的未知异常
- 如果系统抛出了其他异常,非BaseException,都会走未知异常