我正在为.net web api(MS azure)创建一个android rest客户端。我正在使用罐子:
改造1.7.1
okhttp 2.0.0
okhttp-url-connection 2.0.0
okio 1.2.0
gson 2.3
但是在服务器上获取错误500内部服务器错误的POST数据。 :( 我的代码是:
RestApi.java:
public interface RestApi {
@Headers({
"Accept: text/xml",
"User-Agent: REST-Client",
})
@POST("/api/Account/Register")
void sendPerson(@Body Person body, Callback<StatusData> callBack);
}
MainActivity.java
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(API_URL)
.setLogLevel(LogLevel.FULL).setLog(new AndroidLog("xx--LOG--xx"))
.build();
RestApi post = restAdapter.create(RestApi.class);
post.sendPerson(new Person(), new Callback<StatusData>() {
public void failure(RetrofitError retrofitError) {
System.out.println(retrofitError.getMessage());
}
public void success(StatusData arg0, Response arg1) {
System.out.println("barcode: " + arg0.created_at);
}
});
StatusData.java
public class StatusData {
final String status;
final String created_at;
public StatusData() {
this.status = "";
this.created_at = "";
}
}
Person.java:只是一个POJO类
命名
用户名
密码
城市
解决
手机
pin码
请帮帮我????????
答案 0 :(得分:0)
如果.Net服务器只接受xml,则应在RestAdapter上设置setConverter(XML Converter)。请参阅http://square.github.io/retrofit/
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint("https://api.soundcloud.com")
.setConverter(new SimpleXMLConverter())
.build();