Retrofit @Post 操作遇到问题总结。

2016-10-09  本文已影响0人  markzhen

1.使用Retrofit修改之前xml(String)格式的post消息。

之前的Body部分对应如下,需要写成@Field的一一对应方式:

@FormUrlEncoded

@POST("getImeiState.php")

Observable(String) getImeiInfo(@Field("from") String from,

@Field("imei") String imei,

@Field("to") String to,

@Field("ver") String ver);

retrofit的addConverterFactory部分需要重写,对应StringConverterFactory的重写,

onNext返回值一般为String。

2.使用Retrofit修改之前Json格式的Post消息。

之前的Body部分对应如下,需要写成@Body的结构格式:

@POST("wcsr/verify.json")

Observable(SdkMsg) getImeiUseFulBody(

@Body KeyInfo keyInfo

);

其中KeyInfo为对应要发送的Json

public classKeyInfo {

publicStringpackage_name;

publicStringapp_key;

publicStringmobile;

publicStringwcsr;

publicKeyInfo(String package_name, String app_key, String mobile, String wcsr) {

this.package_name= package_name;

this.app_key= app_key;

this.mobile= mobile;

this.wcsr= wcsr;

}

}

SdkMsg为接收的Json格式。

public classSdkMsgimplementsSerializable {

privateStringcode;

privateStringmessage;

@Override

publicString toString() {

return"SdkMsg{"+

"code='"+code+'\''+

", message='"+message+'\''+

'}';

}

}

先记录自己能看懂,写的很乱。

上一篇下一篇

猜你喜欢

热点阅读