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
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]