我使用Retrofit的POST有一个奇怪的问题。我在DataBase中有一个表user
,有4列:用户名,密码,名称,电子邮件。
这是我的sendPost
方法:
public void sendPost(){
User user = new User("a", "b", "c", "d");
Retrofit.Builder builder = new Retrofit.Builder()
.baseUrl("http://MY_IP:8080/")
.addConverterFactory(GsonConverterFactory.create());
Retrofit retrofit = builder.build();
Api api = retrofit.create(Api.class);
retrofit2.Call<User> call = api.createUser(user);
call.enqueue(new retrofit2.Callback<User>() {
@Override
public void onResponse(retrofit2.Call<User> call, retrofit2.Response<User> response) {
Log.w("done", "done");
}
@Override
public void onFailure(retrofit2.Call<User> call, Throwable t) {
Log.w("fail", "fail");
}
});
}
public interface Api {
@POST("users")
Call<User> createUser(@Body User user);
}
public class User {
String username;
String password;
String name;
String email;
public User(String username, String password, String name, String email){
this.username = username;
this.password = password;
this.name = name;
this.email = email;
}
}
此方法在方法onResponse
中停止,并在我的日志中显示done
,因此它似乎有效。但是这个请求在服务器上什么也没做。
我在Postman等其他客户端使用过此方法,并添加了用户。
可能有什么不对?我应该怎么做这个请求?