【发布时间】:2015-12-09 05:47:48
【问题描述】:
不太清楚标题的措辞,但有没有更简单的方法可以使用 Retrofit 将数据发布到 WCF 服务?目前我正在使用@Body 属性和类似的东西。服务需要 json:
这就是我要发送的内容
public class Photo
{
private String imageData;
private String latitude;
private String longitude;
public Photo(String imageData, String latitude, String longitude)
{
this.imageData = imageData;
this.latitude = latitude;
this.longitude = longitude;
}
public String getImageData()
{
return imageData;
}
public void setImageData(String imageData)
{
this.imageData = imageData;
}
public String getLatitude()
{
return latitude;
}
public void setLatitude(String latitude)
{
this.latitude = latitude;
}
public String getLongitude()
{
return longitude;
}
public void setLongitude(String longitude)
{
this.longitude = longitude;
}
}
有了这个:
@POST("/PhotoService.svc/addPhoto")
void addPhoto(@Body Photo photo, Callback<String> cb);
然后我这样称呼它:
IPhotoService photoService = restAdapter.create(IPhotoService.class);
photoService .addPhoto(new Photo(photoSerialised, String.valueOf(location.getLatitude()), String.valueOf(location.getLongitude())), new Callback<String>()
这一切都很好,但我有多个带有各种参数的服务端点。我需要为每个“身体”创建一个模型还是有更简单的方法。类似于执行 GET?
我曾尝试在有多个参数的情况下使用@Field,但在我的 WCF 端,我的参数是 null。简单地发送一个带有 @Body 属性的类就可以了,但是我不想为每个可用的 Service 端点创建一个模型类,还是没有其他方法?
【问题讨论】: