欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > SpringBoot企业级开发之【用户模块-更新用户基本信息】

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

2025/4/19 0:16:51 来源:https://blog.csdn.net/2301_79619694/article/details/147130253  浏览:    关键词:SpringBoot企业级开发之【用户模块-更新用户基本信息】

接口文档:

开发前我们先看一下接口文档:

这是实现的预想结果:

实现思路:

设计一下我们的实现思路

拿起家伙实操:
 

1.controller

定义一个方法去修改用户:

注意!是【put请求】

//更改用户信息@PutMapping("/update")public Result update(@RequestBody User user) {//更新用户信息userService.update(user);return Result.success();}

2.service接口

3.service实现类

记得传入时间

  //更改用户信息@Overridepublic 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"
}

成功结果:

参数校验:

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

我们在之前有学过参数校验这一块,但是那些都是暴露出参数的,我们这次的更改是传入了实体类,如下:

解决:

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

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 {@NotNullprivate Integer id;private String title;@NotEmpty@Pattern(regexp = "^\\S{1,10}$")private String nickname;private  String content;@JsonIgnoreprivate String password;private String username;@NotEmpty@Emailprivate 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();}

总结全部步骤:

以上是【更新用户详细信息的操作】

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词