您的位置:首页 > 科技 > 能源 > 青岛建设工程管理信息网_东莞音乐制作公司_百度网站收录提交入口_石家庄市人民政府官网

青岛建设工程管理信息网_东莞音乐制作公司_百度网站收录提交入口_石家庄市人民政府官网

2025/2/24 9:46:53 来源:https://blog.csdn.net/m0_74115535/article/details/145593553  浏览:    关键词:青岛建设工程管理信息网_东莞音乐制作公司_百度网站收录提交入口_石家庄市人民政府官网
青岛建设工程管理信息网_东莞音乐制作公司_百度网站收录提交入口_石家庄市人民政府官网

1.代码展示:

1.@RequestBody 是 Spring 框架中用于处理 HTTP 请求体的注解,通常用于控制器(Controller)层的方法参数中。当客户端发送一个包含 JSON 或 XML 数据的 HTTP 请求时,可以使用 @RequestBody 将这些数据绑定到一个 Java 对象中。

2.若Controller类中调用的方法还未创建,移到该方法上,alt+enter则自动跳转到该类并补齐方法

 报错:

第一次修改:打开mysql : 

 运行:

1.应该改为put请求 

2.发送的数据应为json格式

第二次修改,运行成功:


注意:数据中一定要提供id,因为:

 @Update("update user set nickname=#{nickname},email=#{email},updateTime=#{updateTime} where id=#{id}")void update(User user);

反而,url中不一定需要写上id,因为:update()中无参

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

2.参数校验:

 如id不为 null,password不为null+格式要求等

在Controller中, 在方法的参数中进行参数约束

@Pattern(regexp="^\\S{5,16}$")String username, @Pattern(regexp = "^\\S{5,16}$") String password

代码展示: 

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

@Data
public class User {@NotNullprivate Integer id;//主键IDprivate String username;//用户名@JsonIgnore//当前对象转变为json字符串时,忽略password,最终的json 字符串就无password这个属性private String password;//密码@NotEmpty@Pattern(regexp = "^\\S{1,10}$")private String nickname;//昵称@NotEmpty@Emailprivate String email;//邮箱

  1. regexp(正则表达式):字符集[abc] 匹配字符集中的任意一个字符,例如匹配 abc范围[a-z] 匹配任意一个小写字母,[0-9] 匹配任意一个数字。特殊字符. 匹配任意单个字符(除换行符外),* 表示前面的字符可以出现 0 次或多次,+ 表示前面的字符至少出现 1 次,? 表示前面的字符可以出现 0 次或 1 次。转义字符\ 用于转义特殊字符,例如 \. 表示匹配一个实际的点号。分组() 用于分组,例如 (ab)+ 匹配一个或多个连续的 "ab"。或操作| 表示 "或",例如 a|b 匹配 "a" 或 "b"。边界匹配^ 表示字符串的开头,$ 表示字符串的结尾。
  2. @Null:不能为空      @NotEmpty :不仅要求字段不能是 null,还要求字段不能是空内容
  3. @Email 注解是用于校验字符串是否符合电子邮件格式的校验注解
    private String email;
    
  4. @Validated:User实体类中的注解才能生效,也可以直接在Controller类外加上该注解

运行: 

 

 default message [nickname]]; default message [不能为空]] "

发现:@Email只能检测是否有@,而不能检测出是否合法 

 

版权声明:

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

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