天天看點

關于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的地方。

繼續閱讀