这是我的请求网址: http://getpincodes.info/api.php?pincode=560054 密码值是动态的。
这是我的代码:
public interface PincodeDetailsService
@GET("")
Call<PincodeDetailsResponse> getPin(@Url String url);
}
ApiUtils:
公共静态最终字符串PINCODE_URL =“ http://getpincodes.info/”;
public static PincodeDetailsService getPincodeDetailsService() {
return RetrofitClientInstance.getRetrofitInstance(PINCODE_URL).create(PincodeDetailsService.class);
}
在拨打网络电话时如何传递另一部分? 有人可以帮我吗?
答案 0 :(得分:1)
签名应该是这样的:
@GET("api.php")
Call<PincodeDetailsResponse> getPin(@Query("pincode") int pincode);
然后只需使用
进行调用getPin(560054);
答案 1 :(得分:1)
第一个响应标头Content-Type
是text/html
,将其更改为application/json
。
如下创建改造实例
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://getpincodes.info")
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiService apiService = retrofit.create(ApiService.class);
创建这样的模型。
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Info {
@SerializedName("pincode")
@Expose
private String pincode;
@SerializedName("city")
@Expose
private String city;
@SerializedName("district")
@Expose
private String district;
@SerializedName("state")
@Expose
private String state;
public String getPincode() {
return pincode;
}
public void setPincode(String pincode) {
this.pincode = pincode;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getDistrict() {
return district;
}
public void setDistrict(String district) {
this.district = district;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
}
然后在api界面中添加以下代码
@GET("/api.php")
Call<List<Info>> getInfo(@Query("pincode") String pincode);
然后致电apiService.getInfo("560054")