项目开发规范

Restful

REST,表述性状态转换,他是一种软件架构风格
使用URL定位资源,HTTP动词描述操作
根据发出请求类型来区分操作

  • GET: 查询id为1的用户
  • POST:新增用户
  • PUT:修改用户
  • DELETE:删除id为1的用户

此为风格,是约定方式,可以打破
描述模块的功能通常使用复数,也就是加s的格式来描述,表示此类资源,而非单个资源。eg:users、books

统一响应结果

//结果实体类
public class Result {
    private Integer code;//响应码,1 代表成功; 0 代表失败
    private String msg;  //响应信息 描述字符串
    private Object data; //返回的数据

    //增删改 成功响应
    public static Result success(){
        return new Result(1,"success",null);
    }
    //查询 成功响应
    public static Result success(Object data){
        return new Result(1,"success",data);
    }
    //失败响应
    public static Result error(String msg){
        return new Result(0,msg,null);
    }
}

开发流程

  • 查看页面原型明确需求
  • 阅读接口文档
  • 思路分析
  • 接口开发
  • 接口测试–postman
  • 前后端联调测试

输出日志

在controller类上加上此注解@Slf4j,并且在方法内部加上日志输出语句这样在方法执行的时候就会输出到控制台

log.info("查询全部部门数据");

GET请求流程

前端发出请求后,根据RequestMapping导航到对应controller方法,controller方法中调用service方法来获取数据,在service中调用mapper接口中的方法来查询数据,在mapper接口方法中就会往数据库中发送sql语句进行查询,并且将查询到的信息,封装在List集合中,最终将List集合返回给service,service又返回给controller,controller拿到返回的数据后,再将这个数据返回给前端。

限制请求方式

@RequestMapping后可以加上一个method属性,用于限定请求方式

@RequestMapping(value = "/depts",method = RequestMethod.GET)

或者还可以直接使用衍生注解@GetMapping

前后端联调

在这里插入图片描述

在这里插入图片描述

DELETE请求流程

限制请求方式

直接使用衍生注解@DeleteMapping

@DeleteMapping("/depts/{id}")
    public Result delete(@PathVariable Integer id){
    }

@Pathvariable用于将URL中的模板变量映射到参数的绑定

POST请求流程

限制请求方式

直接使用衍生注解@PostMapping

请求参数读取

当前端发出的请求数据有传送json参数时,我们可以加上@RequestBody,从而将这个json数组存入实体类中。

@PostMapping("/depts")
    public Result add(@RequestBody Dept dept){

分页查询

前端给后端:

  • 当前页面Page
  • 每页展示记录数:pageSize

后端给前端:

  • 数据列表:List-->select * from emp limit ?,?
  • 总记录数:total-->select count(*) from emp

@RequestParam(defaultValue="..")给请求参数设置默认值,用于如果前端没有返回请求参数,但是controller方法内需要请求参数赋值的时候,用于注解方法内的形参。

分页查询插件PageHelper

查询回显

在有些修改操作时,会先将原有数据回显展示,之后在此基础上进行修改,之后再提交保存修改。

相关推荐

  1. 项目开发流程规范,请查收!

    2024-04-29 17:32:05       26 阅读
  2. 项目代码规范

    2024-04-29 17:32:05       40 阅读
  3. 项目代码规范

    2024-04-29 17:32:05       57 阅读
  4. vue 开发规范

    2024-04-29 17:32:05       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-29 17:32:05       75 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-29 17:32:05       80 阅读
  3. 在Django里面运行非项目文件

    2024-04-29 17:32:05       64 阅读
  4. Python语言-面向对象

    2024-04-29 17:32:05       75 阅读

热门阅读

  1. 组合索引(复合索引或联合索引)最左原则

    2024-04-29 17:32:05       29 阅读
  2. 计算机基础:计算机及磁盘存储数据原理

    2024-04-29 17:32:05       26 阅读
  3. IT大陆之:指定用户登入docker

    2024-04-29 17:32:05       25 阅读
  4. 【经典面试题】Vue3和Vue2有什么区别?

    2024-04-29 17:32:05       32 阅读
  5. Phpstorm环境配置与应用

    2024-04-29 17:32:05       30 阅读
  6. 【数据结构】图基本概念

    2024-04-29 17:32:05       30 阅读
  7. Eureka基础知识

    2024-04-29 17:32:05       31 阅读
  8. linux文件夹映射到本地win系统

    2024-04-29 17:32:05       32 阅读
  9. SQL注入

    2024-04-29 17:32:05       38 阅读
  10. Qt——自定义富文本RichText

    2024-04-29 17:32:05       31 阅读
  11. Flutter 之PopScope组件的基本用法,拦截系统返回键

    2024-04-29 17:32:05       26 阅读
  12. CAPM模型

    2024-04-29 17:32:05       27 阅读