2016-12-10 4 views
0

Я сейчас создаю сервис, который является простым CRUD. У меня есть метод почты, который я хочу вызвать из приложения для Android. Раньше это работало, но вдруг я могу назвать это только когда я использую Почтальон или что-то в этом роде. С мобильного он не работает.Java rest (javax.ws.rs) POST не всегда работает

Я вижу, что он проходит через фильтр с помощью отладчика, но он никогда не попадает в метод. Когда я удаляю фильтр, я получаю тот же результат, поэтому я знаю, что фильтр не проблема. Кто-нибудь знает, почему это может произойти?

Некоторые фрагменты кода ниже:

Конечной

@POST 
@Consumes(APPLICATION_JSON) 
@Path("/contact") 
public void opslaanContactbericht(ContactRequest request) { 
    contactService.opslaanBericht(request); 
} 

андроид интерфейс (API. Retrofit2 Header удален, но я знаю, что часть работает фильтр)

@POST("contact") 
@Headers("validheader") 
Call<Contact> opslaanContact(@Body Contact contact); 

Snippet где Я вызываю интерфейс:

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); 

Если вам нужна дополнительная информация, просто спросите меня. Никогда не видел ничего подобного раньше, поэтому я действительно не знаю, какая информация наиболее полезная.

ответ

0

Вам не хватает правильных заголовков в вашей дооснащенности, которые не установлены по умолчанию:

@Headers({"Content-type: application/json"}) 
+0

Увидев ваш комментарий, я, черт возьми, черт возьми, если это правда, я действительно пропустил это. Проблема заключалась в том, что собственность была неправильное имя в запросе. – ProCx

+0

без этого заголовка также работает. Спасибо за ответ, хотя – ProCx

0

Свойства в запросе было неправильным имя .. Weard достаточно дает положительный ответ на стороне Android, но она никогда не достигает коду, ни выдает ошибку .. Brilliant wtf, но его решение сейчас