文章目录
前言
柚子前两天在调api接口时,发现了一个问题,接收对象使用了和被请求方相同类型相同名字的boolean参数,但是却接收不到参数值,于是记录总结一下这个问题。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Java属性命名为什么不建议使用is开头?
java中,对于非boolean类型的参数,getter和setter方法命名的规范是以get和set开头;
而对于boolean类型的参数,setter方法是以set开头,但是getter方法命名的规范是以is开头。
假如被调用方现在有一个参数为isSuccess:
private boolean isSuccess;
public boolean isSuccess() {
return isSuccess;
}
public void setSuccess(boolean success) {
isSuccess = success;
}
因而当我在用postman调接口时,boolean类型的isSuccess参数返回时,响应结果中的参数是success。这样的话,我使用isSuccess就不能接收到相应的值。另外,在get时也不能get到值。
二、非要使用is开头来定义属性,应该怎么做呢?
1.强行写成getSuccess()的方式
public boolean getIsSuccess() {
return isSuccess;
}
2.使用JSONField注解
@JSONField(name = "isSuccess")
private boolean isSuccess;
3.接收对象的参数改为Boolean类型
并去掉参数前面的is
private Boolean success;
4.接收对象的参数改为String类型
改为传”T”和”F”
private String isSuccess;
总结:定义标识属性的最好方式
将标识命名为xxxFlag,并传”T”和”F”
private String successFlag;
注:最好使用总结中的方式哦!!!
╭◜◝ ͡ ◜◝╮
( ˃̶͈◡˂ ̶͈ )感觉有用的话,欢迎点赞评论呀!
╰◟◞ ͜ ◟◞╯
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119848.html