为什么改造POST请求在@field批注中发送空正文?
sign.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String nm=textname.getText().toString().trim();
String cm=textmail.getText().toString().trim();
String pm=textpassword.getText().toString().trim();
apiinterface intro=api.retrofit.create(apiinterface.class);
Call<customers> call=intro.register(nm,cm,pm);
call.enqueue(new Callback<customers>() {
@Override
public void onResponse(Call<customers> call, Response<customers> response)
{
if(!response.isSuccess())
{
sign.setText("Code:"+response.code());
return;
}
}
@Override
public void onFailure(Call<customers> call, Throwable t) {
Toast.makeText(signup.this,t.getMessage(),Toast.LENGTH_LONG).show();
}
});
}
});
这里是界面代码。从编辑文本中获取数据,但无法使用发布请求在请求正文中发送
@FormUrlEncoded
@POST("addemployee/?")
Call<customers>register(@Field("cname") String cname,
@Field("cmail") String cmail,
@Field("password") String password);
这里是改造生成器类。它将空数据发送到SQLServer
public static final String BASE_URL ="http://xxx.xxx.xx.xx/Service1.svc/";
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();