Ошибка неподдерживаемого типа носителя у почтальона после указания заголовка типа контента и аннотации @consume?

#java #tomcat #postman #rest

Вопрос:

Я создаю веб-службу rest api в jersey framework, используя tomcat и postman, Это мой код, и я хочу принять xml-запрос,

 @Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
@Consumes({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
public JSONObject langurl(language l1){
        String lang=l1.getLang();
        system.out.println(lang);

}
 

Запрос JSON от postman принимается без каких-либо проблем, но при отправке xml-запроса он показывает ошибку неподдерживаемого носителя даже после установки заголовка типа контента в application/xml и выбора raw и XML в основной части.

Мой почтовый запрос в теле почтальона

 <language>
   <lang>English</lang>
</language>
 

и мой языковой класс

 @XmlRootElement
public class language{
   private string lang;
   publuc String getlang(){
      return lang;
   }
   public void setLang(String lang){
      this.lang=lang;
   }
}
 

то же самое в формате json работает, как это решить? пожалуйста, помогите мне, я новичок в этих концепциях.
Заранее спасибо

Ответ №1:

В Postman на вкладке Заголовки добавьте новую строку с ключом Accept и ЗНАЧЕНИЕМ application/json.

Это должно сработать. Я не добавляю еще один с КЛЮЧЕВЫМ типом содержимого и ЗНАЧЕНИЕМ приложения/json

Комментарии:

1. сделал то же самое, добавил тип контента как приложение/xml и принял как приложение/json, но не сработало @Andreas Radauer