IDカード番号を入力して送信ボタンをクリックし、IDカードの基本情報を取得しました。改造エラー:BEGIN_OBJECTがBEGIN_ARRAYになっていましたが、BEGIN_ARRAYでした
私が使用したモデル:
public class IdCardInfo {
private int errNum;
private String retMsg;
private RetDataBean retData;
public int getErrNum() {
return errNum;
}
public void setErrNum(int errNum) {
this.errNum = errNum;
}
public String getRetMsg() {
return retMsg;
}
public void setRetMsg(String retMsg) {
this.retMsg = retMsg;
}
public RetDataBean getRetData() {
return retData;
}
public void setRetData(RetDataBean retData) {
this.retData = retData;
}
public static class RetDataBean {
private String sex;
private String birthday;
private String address;
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
}
私が使用した改造インタフェース:
@GET("apistore/idservice/id")
Observable<IdCardInfo> getIdCardInfo(@Query("id") String id);
I入力、正しいIDカード番号に、すべてがうまく動作します。返される結果は次のとおりです。
{
"errNum": 0,
"retMsg": "success",
"retData": {
"sex": "M",
"birthday": "1987-04-20",
"address": "some place"
}
}
すべてがうまくいきます。
しかしときI入力間違ったIDカード番号、悪いことが起こる:
Caused by: java.lang.IllegalStateException:
Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 86 path $.retData
を返された結果は次のとおりです。
{
"errNum": -1,
"retMsg": "Incorrect ID card number!",
"retData": [ ]
}
私はバグを修正する可能性がどのように?
リクエストコードを表示 –