@JsonProperty,@NotNull,@JsonIgnore的具体使用

前情摘要

上回说道,小明同学用@JsonProperty解决了,在接口通讯中的Json反序列化问题。经过研究,小明发现@JsonProperty在特定场景下,还有更人性化的作用。并且在项目中相继使用了@JsonIgnore和@NotNull两兄弟。下面继续场景分析。

场景分析一

小明做了一个web表单,用来填写并保存数据,后台写restful接口接收数据并保存。写完之后让老大review的时候,自信满满的小明,又收到了很多comment。小明看到了这些comment发现确实有不足之处,比如表单里的有些数据是必须不为空的,虽然在页面上加上了强校验(Js校验),但是后台接口是对外开放的restful接口,别人不走页面直接访问接口存储数据,这时候页面的校验就显得很尴尬了,小明又想这好办啊,直接拿接收到的参数进行非空判断不就行了么,其实也是可以的,但是小明在研究@JsonProperty的时候发现@NotNull正好解决这个问题。代码展示如下:

Student类
public class Student {
   
   @JsonProperty(value="real_name")
   private String name ;
   
   @NotNull(message="idcard is not null")
   private String idCard;
   
   
   public String getName() {
      return name;
   }
   public void se
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
@JsonIgnore@JsonProperty是两个常用的注解,用于在Java对象和JSON之间进行序列化和反序列化操作,与缓存无直接关系。 @JsonIgnore注解通常用于在序列化过程中排除某些属性,即不将其包含在生成的JSON中。可以在类的属性上使用@JsonIgnore注解,或者使用在getter和setter方法上。这样,当将对象转换为JSON时,被@JsonIgnore注解标记的属性将被忽略。 @JsonProperty注解则用于指定属性在转换为JSON时的名称。可以在属性上使用@JsonProperty注解,并指定属性在JSON中的名称。这个注解通常与@JsonIgnore一起使用@JsonIgnore用于排除属性,而@JsonProperty用于指定排除属性的替代名称。 至于缓存的相关问题,可以使用Spring Framework提供的缓存注解,如@Cacheable和@CacheEvict。@Cacheable注解用于在方法上指定该方法的返回值应该被缓存起来,可以指定缓存的名称和缓存的key。而@CacheEvict注解则用于在方法执行后清空指定的缓存,可以指定要清空的缓存名称和缓存的key。 这两个注解的具体使用和原理需要根据具体的缓存框架来解释,比如使用Spring的缓存框架,可以结合使用@Cacheable和@CacheEvict来实现对缓存的管理和控制。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [类继承父类遇到和父类同名不同类型的属性可以用json注解转化@JsonProperty](https://blog.csdn.net/y666666y/article/details/108124448)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [springboot结合 @Cacheable和@CacheEvict拉起和清空缓存.zip](https://download.csdn.net/download/weixin_43812522/13125068)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值