#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