首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java rest (javax.ws.rs) POST并不总是有效

Java rest (javax.ws.rs) POST并不总是有效
EN

Stack Overflow用户
提问于 2016-12-10 22:03:24
回答 2查看 72关注 0票数 0

我现在正在创建一个简单的CRUD服务。我有一个要从Android应用程序调用的post方法。它以前是有效的,但突然间我只能在使用Postman或其他东西时调用它。从手机上看,它不起作用。

我看到它通过了调试器的筛选器,但它从未进入方法。当我删除过滤器时,我得到了相同的结果,所以我知道过滤器不是问题所在。有人知道为什么会发生这种事吗?

下面是一些代码片段:

端点

代码语言:javascript
复制
@POST
@Consumes(APPLICATION_JSON)
@Path("/contact")
public void opslaanContactbericht(ContactRequest request) {
    contactService.opslaanBericht(request);
}

android api接口(Retrofit2。标题已删除,但我知道该部分在筛选器中有效)

代码语言:javascript
复制
@POST("contact")
@Headers("validheader")
Call<Contact> opslaanContact(@Body Contact contact);

我调用接口的代码片段:

代码语言:javascript
复制
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);

如果需要更多信息,尽管问我..以前从来没有见过这样的事情,所以我真的不知道什么信息最有用。

EN

回答 2

Stack Overflow用户

发布于 2016-12-10 22:38:16

您的Retrofit中缺少正确的标题,这些标题不是默认设置的:

代码语言:javascript
复制
 @Headers({"Content-type: application/json"})
票数 0
EN

Stack Overflow用户

发布于 2016-12-11 00:25:38

请求中的属性名称不正确..它在Android方面给出了一个肯定的响应,但它从来没有到达代码,也没有给出错误。很棒的wtf,但现在已经解决了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41076419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档