光之使者 发表于 2025-4-11 14:09:48

SpringBoot企业级开发之【用户模块-更新用户根本信息】

接口文档:


开发前我们先看一下接口文档:
https://i-blog.csdnimg.cn/img_convert/3fc6a2f2d5cee3e7c6f6f96f1b096a04.png

这是实现的预想效果:
https://i-blog.csdnimg.cn/img_convert/8717e9d087cf8c237a06e84ca7be2d8f.png

实现思路:

设计一下我们的实现思路
https://i-blog.csdnimg.cn/img_convert/91c40e4f4c9dcce62dabfacf45253c57.png


拿发迹伙实操:
 

1.controller

界说一个方法去修改用户:
留意!是【put请求】
//更改用户信息
    @PutMapping("/update")
    public Result update(@RequestBody User user) {
      //更新用户信息
       userService.update(user);
      return Result.success();
    }
2.service接口

https://i-blog.csdnimg.cn/img_convert/12db19a81c3c41a26313f9498441668b.png

3.service实现类

记得传入时间
//更改用户信息
    @Override
    public void update(User user) {
      user.setUpdate_time(LocalDateTime.now());
      //调用Mapper更新用户信息
      userMapper.update(user);
    }
4.Mapper

//更新用户信息
    @Insert("UPDATE user SET nickname = #{nickname}, email = #{email},update_time = now() WHERE id = #{id}")
    void update(User user);
测试案例:
 

带入json格式的代码
{
    "id":1,
    "username":"wwwwwww",
    "nickname":"wba",
    "email":"wacc"
}
成功效果:

https://i-blog.csdnimg.cn/img_convert/ae094634927ea25850bbd12c9b9c9316.png

参数校验:



之前我们是简单开发了更新用户信息的操作,但是接口文档的话对一些参数会有要求,如:

https://i-blog.csdnimg.cn/img_convert/cd26d013a4c45d59d7b9ff711f44c562.png

我们在之前有学过参数校验这一块,但是那些都是袒露出参数的,我们这次的更改是传入了实体类,如下:
https://i-blog.csdnimg.cn/img_convert/a9ce38eddfdd25987113c5e43ba92e7d.png

https://i-blog.csdnimg.cn/img_convert/4e6595b633b34d2a17cb00104a3bf4f0.png

解决:


我们碰到以上情况,可以在实体类下对应的字段去参加相干的注解:

https://i-blog.csdnimg.cn/img_convert/b579710f8c3c0de308770bb49f932797.png
Patten 自界说约束条件


步骤1:

在实体类参加相干的约束注释:
package org.huangyingyuan.pojo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class User {
    @NotNull
    private Integer id;
    private String title;
    @NotEmpty
    @Pattern(regexp = "^\\S{1,10}$")
    private String nickname;
    privateString content;
    @JsonIgnore
    private String password;
    private String username;
    @NotEmpty
    @Email
    private String email;
    private LocalDateTime create_time;
    private LocalDateTime update_time;
}
步骤2:

在controller带入的实体类参数前参加【@Validated注解】,使其在实体类字段中添加的注解才能生效
    //更改用户信息
    @PutMapping("/update")
    public Result update(@RequestBody @Validated User user) {
      //更新用户信息
       userService.update(user);
      return Result.success();
    }

总结全部步骤:

https://i-blog.csdnimg.cn/img_convert/f7edc82825abbc069b977ebe419ccc4d.png

以上是【更新用户具体信息的操作】

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: SpringBoot企业级开发之【用户模块-更新用户根本信息】