天天看点

关于retrofit 传值传null的处理(同样适用于okhttp)

前段时间,做公司的项目,公司后台要求不做修改的字段传值的时候传null 传null 传null(重要的事情说三遍),传空字符串 就直接覆盖原来的昵称了。扎心不扎心,感觉自己的心被扎成筛子了。这下没有玩死我了。 一阵百度,谷歌。没有发现解决办法。后来一想。定义字段时定义成String,让这个String s=null;行不行,结果报错了。这下一阵心烦。小伙伴提醒我有一个@notnull的表示不能传null。顺藤摸瓜。找到了@Nullable ,这个意思是什么呢?可以为空。也就是说可以传null。顺利解决问题。

//5.2 修改用户的信息
    public static Subscription updateUserData(@Nullable String nick, @Nullable String head, @Nullable String gendar, @Nullable String birthday, Subscriber<Response<ResponseBody>> subscriber) {
        return ApiManager.getInstance()
                .getMemberService()
                .updateUserData(nick, head, gendar, birthday)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(subscriber);
    }
           

@Nullable就是可以传null的地方。

继续阅读