3.2 修改员工
3.2.1 接口文档
- 基本信息
请求路径:/emps
请求方式:PUT
接口描述:该接口用于修改员工的数据信息
- 请求参数
参数格式:application/json
参数说明:
名称 | 类型 | 是否必须 | 备注 |
id | number | 必须 | id |
username | string | 必须 | 用户名 |
name | string | 必须 | 姓名 |
gender | number | 必须 | 性别, 说明: 1 男, 2 女 |
image | string | 非必须 | 图像 |
deptId | number | 非必须 | 部门id |
entrydate | string | 非必须 | 入职日期 |
job | number | 非必须 | 职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师 |
- 请求数据样例:
{ "id": 1, "image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-03-07-37-38222.jpg", "username": "linpingzhi", "name": "林平之", "gender": 1, "job": 1, "entrydate": "2022-09-18", "deptId": 1 }
- 响应数据
参数格式:application/json
参数说明:
参数名 | 类型 | 是否必须 | 备注 |
code | number | 必须 | 响应码,1 代表成功,0 代表失败 |
msg | string | 非必须 | 提示信息 |
data | object | 非必须 | 返回的数据 |
- 响应数据样例:
{
"code":1,
"msg":"success",
"data":null
}
3.2.2 实现思路
3.2.3 代码实现
- EmpMapper
@Mapper public interface EmpMapper { //修改员工信息 public void update(Emp emp); //省略... }
- EmpMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.itheima.mapper.EmpMapper"> <!--更新员工信息--> <update id="update"> update emp <set> <if test="username != null and username != ''"> username = #{username}, </if> <if test="password != null and password != ''"> password = #{password}, </if> <if test="name != null and name != ''"> name = #{name}, </if> <if test="gender != null"> gender = #{gender}, </if> <if test="image != null and image != ''"> image = #{image}, </if> <if test="job != null"> job = #{job}, </if> <if test="entrydate != null"> entrydate = #{entrydate}, </if> <if test="deptId != null"> dept_id = #{deptId}, </if> <if test="updateTime != null"> update_time = #{updateTime} </if> </set> where id = #{id} </update> <!-- 省略... --> </mapper>
- EmpService
public interface EmpService { /** * 更新员工 * @param emp */ public void update(Emp emp); //省略... }
- EmpServiceImpl
@Slf4j @Service public class EmpServiceImpl implements EmpService { @Autowired private EmpMapper empMapper; @Override public void update(Emp emp) { emp.setUpdateTime(LocalDateTime.now()); //更新修改时间为当前时间 empMapper.update(emp); } //省略... }
- EmpController
@Slf4j @RestController @RequestMapping("/emps") public class EmpController { @Autowired private EmpService empService; //修改员工 @PutMapping public Result update(@RequestBody Emp emp){ empService.update(emp); return Result.success(); } //省略... }
3.2.4 postman测试
3.2.5 前后端联调测试