android 休息客户端给出内部服务器错误 500 的错误(使用改造 okhttp 和 gson)
android rest client giving error of internal server error 500 (using retrofit okhttp and gson)
我正在为 .net web api (MS azure) 创建一个 android 休息客户端。我正在使用罐子:
改造 1.7.1
okhttp 2.0.0
okhttp-url-连接 2.0.0
okio 1.2.0
gson 2.3
但是服务器上的 POST 数据出现错误 500 内部服务器错误。 :(
我的代码是:
RestApi.java :
公共接口 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
公共class状态数据{
final String status;
final String created_at;
public StatusData() {
this.status = "";
this.created_at = "";
}
}
Person.java : 只是一个 POJO class
名字
用户名
密码
城市
地址
电话
密码
请帮帮我??????
如果您的 .Net 服务器只接受 xml,您应该在 RestAdapter 上设置转换器(XML 转换器)。参考 http://square.github.io/retrofit/
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint("https://api.soundcloud.com")
.setConverter(new SimpleXMLConverter())
.build();
我正在为 .net web api (MS azure) 创建一个 android 休息客户端。我正在使用罐子:
改造 1.7.1
okhttp 2.0.0
okhttp-url-连接 2.0.0
okio 1.2.0
gson 2.3
但是服务器上的 POST 数据出现错误 500 内部服务器错误。 :( 我的代码是:
RestApi.java :
公共接口 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
公共class状态数据{
final String status;
final String created_at;
public StatusData() {
this.status = "";
this.created_at = "";
}
}
Person.java : 只是一个 POJO class
名字
用户名
密码
城市
地址
电话
密码
请帮帮我??????
如果您的 .Net 服务器只接受 xml,您应该在 RestAdapter 上设置转换器(XML 转换器)。参考 http://square.github.io/retrofit/
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint("https://api.soundcloud.com")
.setConverter(new SimpleXMLConverter())
.build();