自学内容网 自学内容网

tlias部门管理-新增部门-接口开发

需求

点击 "新增部门" 的按钮之后,弹出新增部门表单,填写部门名称之后,点击确定之后,保存部门数据。

了解了需求之后,我们再看看接口文档中,关于新增部门的接口的描述,然后根据接口文档进行服务端接口的开发 。

接口描述

思路分析

明确了新增部门的需求之后,再来梳理一下实现该功能时,三层架构每一层的职责:

json参数接收

我们看到,在controller中,需要接收前端传递的请求参数。 那接下来,我们就先来看看在服务器端的Controller程序中,如何获取json格式的参数。

  • JSON格式的参数,通常会使用一个实体对象进行接收 。

  • 规则:JSON数据的键名与方法形参对象的属性名相同,并需要使用@RequestBody注解标识。

前端传递的请求参数格式为json,内容如下:{"name":"研发部"}。这里,我们可以通过一个对象来接收,只需要保证对象中有name属性即可。

代码实现

1). Controller层

DeptController中增加方法save,具体代码如下:

/**
 * 新增部门 - POST http://localhost:8080/depts   请求参数:{"name":"研发部"}
 */
@PostMapping("/depts")
public Result save(@RequestBody Dept dept){
    System.out.println("新增部门, dept=" + dept);
    deptService.save(dept);
    return Result.success();
}

2). Service层

DeptService中增加接口方法save,具体代码如下:

/**
 * 新增部门
 */
void save(Dept dept);

DeptServiceImpl中增加save方法,完成添加部门的操作,具体代码如下:

public void save(Dept dept) {
    //补全基础属性
    dept.setCreateTime(LocalDateTime.now());
    dept.setUpdateTime(LocalDateTime.now());
    //保存部门
    deptMapper.insert(dept);
}

3). Mapper层

/**
 * 保存部门
 */
@Insert("insert into dept(name,create_time,update_time) values(#{name},#{createTime},#{updateTime})")
void insert(Dept dept);

如果在mapper接口中,需要传递多个参数,可以把多个参数封装到一个对象中。 在SQL语句中获取参数的时候,#{...} 里面写的是对象的属性名【注意是属性名,不是表的字段名】

启动服务,进行测试。

小结:

1. 如何接收 JSON 格式的请求参数 ?

通常通过实体对象接收,保证json格式的键名与对象属性名保持一致,并添加@RequestBody注解

2. json 格式的请求参数适用场景 ?

主要在POSTPUT请求中,在请求体传递请求参数


原文地址:https://blog.csdn.net/m0_63949203/article/details/145225902

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!