为什么我的改装代码无法在数据库中插入数据?我在iis上发布了wcf服务,当我在浏览器中传递参数时,它运行良好。
这是我的界面代码:
interface ApiInterface {
@POST("client")
Call<client>insert(@Body client cl);
}
这是我的模特班:
public client(String name, String contact, String addres) {
this.name = name;
this.contact = contact;
this.addres = addres;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
这是主要活动:
textname = (EditText) findViewById(R.id.name);
textcontact = (EditText) findViewById(R.id.contact);
textpssword = (EditText) findViewById(R.id.password);
Button btn = findViewById(R.id.send);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
client cl=new client(textname.getText().toString(),
textcontact.getText().toString(),textpssword.getText().toString());
sendNetworkrequest(cl);
}
});
}
private void sendNetworkrequest(client cl){
Retrofit.Builder builder=new
Retrofit.Builder().baseUrl("http://192.168.1.20/Service1.svc/").
addConverterFactory(GsonConverterFactory.create());
Retrofit retrofit=builder.build();
ApiInterface apiInterface=retrofit.create(ApiInterface.class);
Call<client> call=apiInterface.insert(cl);
call.enqueue(new Callback<client>() {
@Override
public void onResponse(Call<client> call, Response<client>
response) {
Toast.makeText(MainActivity.this,"compl
inserted",Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(Call<client> call, Throwable t) {
Toast.makeText(MainActivity.this, "some thing went wrng",
Toast.LENGTH_SHORT).show();
}
});
我可以传递baseurl
的写入格式吗?
这在浏览器中正常工作
http://192.168.1.20:8080/Service1.svc/insert?name=mehmood&contact=123&addres=lahore
是本地发布的地址。 insert是wcf服务中定义的函数。
答案 0 :(得分:0)
您的示例请求(http://192.168.1.20:8080/Service1.svc/insert?name=mehmood&contact=123&addres=lahore)使用查询参数发送字段。但是您的Retrofit定义似乎将您的参数放入了请求正文中。
如果您的服务在POST请求中接受查询参数,则您需要执行以下操作:
@POST("/insert")
Call<client> insert(
@Query("name") String name,
@Query("contact") String contact,
@Query("addres") String addres
);
发布带有查询参数的内容似乎很奇怪,但也许您有充分的理由4。
顺便说一句,您实际上会将客户端对象作为返回类型,这不是请求类型。
然后将客户端重命名为“客户端”。我很讨厌一个书呆子;)