我现在正在创建一个简单的CRUD服务。我有一个要从Android应用程序调用的post方法。它以前是有效的,但突然间我只能在使用Postman或其他东西时调用它。从手机上看,它不起作用。
我看到它通过了调试器的筛选器,但它从未进入方法。当我删除过滤器时,我得到了相同的结果,所以我知道过滤器不是问题所在。有人知道为什么会发生这种事吗?
下面是一些代码片段:
端点
@POST
@Consumes(APPLICATION_JSON)
@Path("/contact")
public void opslaanContactbericht(ContactRequest request) {
contactService.opslaanBericht(request);
}android api接口(Retrofit2。标题已删除,但我知道该部分在筛选器中有效)
@POST("contact")
@Headers("validheader")
Call<Contact> opslaanContact(@Body Contact contact);我调用接口的代码片段:
BackendApi api = retrofit.create(BackendApi.class);
Contact contact = new Contact();
contact.setName(this.naamTextview.getText().toString());
contact.setEmail(this.emailTextview.getText().toString());
contact.setBericht(this.berichtTextview.getText().toString());
Call<Contact> call = api.opslaanContact(contact);
call.enqueue(this);如果需要更多信息,尽管问我..以前从来没有见过这样的事情,所以我真的不知道什么信息最有用。
发布于 2016-12-10 22:38:16
您的Retrofit中缺少正确的标题,这些标题不是默认设置的:
@Headers({"Content-type: application/json"})发布于 2016-12-11 00:25:38
请求中的属性名称不正确..它在Android方面给出了一个肯定的响应,但它从来没有到达代码,也没有给出错误。很棒的wtf,但现在已经解决了
https://stackoverflow.com/questions/41076419
复制相似问题