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

打印 上一主题 下一主题

主题 1368|帖子 1368|积分 4104

接口文档:


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


这是实现的预想效果:


实现思路:

设计一下我们的实现思路



拿发迹伙实操:
 


1.controller

界说一个方法去修改用户:
留意!是【put请求】
  1. //更改用户信息
  2.     @PutMapping("/update")
  3.     public Result update(@RequestBody User user) {
  4.         //更新用户信息
  5.        userService.update(user);
  6.         return Result.success();
  7.     }
复制代码

2.service接口



3.service实现类

记得传入时间
  1.   //更改用户信息
  2.     @Override
  3.     public void update(User user) {
  4.         user.setUpdate_time(LocalDateTime.now());
  5.         //调用Mapper更新用户信息
  6.         userMapper.update(user);
  7.     }
复制代码

4.Mapper

  1. //更新用户信息
  2.     @Insert("UPDATE user SET nickname = #{nickname}, email = #{email},  update_time = now() WHERE id = #{id}")
  3.     void update(User user);
复制代码

测试案例:
 


带入json格式的代码
  1. {
  2.     "id":1,
  3.     "username":"wwwwwww",
  4.     "nickname":"wba",
  5.     "email":"wacc"
  6. }
复制代码

成功效果:



参数校验:



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



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




解决:


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


Patten 自界说约束条件


步骤1:

在实体类参加相干的约束注释:
  1. package org.huangyingyuan.pojo;
  2. import com.fasterxml.jackson.annotation.JsonIgnore;
  3. import jakarta.validation.constraints.Email;
  4. import jakarta.validation.constraints.NotEmpty;
  5. import jakarta.validation.constraints.NotNull;
  6. import jakarta.validation.constraints.Pattern;
  7. import lombok.Data;
  8. import java.time.LocalDateTime;
  9. @Data
  10. public class User {
  11.     @NotNull
  12.     private Integer id;
  13.     private String title;
  14.     @NotEmpty
  15.     @Pattern(regexp = "^\\S{1,10}$")
  16.     private String nickname;
  17.     private  String content;
  18.     @JsonIgnore
  19.     private String password;
  20.     private String username;
  21.     @NotEmpty
  22.     @Email
  23.     private String email;
  24.     private LocalDateTime create_time;
  25.     private LocalDateTime update_time;
  26. }
复制代码

步骤2:

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


总结全部步骤:



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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

光之使者

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表