У меня есть класс Java:Неподдерживаемого Типа носителя с запросом Java POST
@XmlRootElement
public class RoomInfo {
@XmlElement
public String name;
@XmlElement
public String w;
@XmlElement
public String h;
@XmlElement
public String size;
}
И успокоительная веб-сервис:
@Path("/create")
public class Create {
@POST
@Consumes("application/json")
public void getInfo(RoomInfo room){
System.out.println("signal");
System.out.println(room.name);
System.out.println(room.w);
System.out.println(room.h);
System.out.println(room.size);
}
}
Я пытаюсь отправить запрос POST с параметрами JSon с JavaScript:
var xh = new XMLHttpRequest();
var json = JSON.stringify({
name: "Room1",
w: "2",
h: "4",
size: "12"
});
xh.open("POST", 'http://localhost:8080/create', true);
xh.setRequestHeader('Content-type', 'application/json; charset=utf-8');
console.log(json);
xh.send(json);
Но я получаю следующий вывод в консоли моего браузера:
{ "имя": "Room1", "ш": "2", "ч": "4", "размер": "12"}
Не удалось загрузить ресурс: сервер ответил статус 415 (Неподдерживаемый тип носителя)
Я понимаю, что по какой-то причине данные, которые я отправляю, не могут быть помещены в мой объект RoomInfo, но я не понимаю, почему.
Консоль сервера также показывает следующее: com.sun.jersey.spi.container.ContainerRequest.getEntity сообщение тело читалка для класса Java com.example.jersey.RoomInfo и Java класса типа com.example.jersey .RoomInfo и приложение типа мультимедиа MIME/json; charset = UTF-8 не найден. Зарегистрированные считыватели тела сообщений, совместимые с типом MIME-носителя: application/json; кодировка = UTF-8 ->
Есть ли какие-либо исключения на консоли сервера? – gurvinder372
@ gurvinder372 Да, я добавлю его к сообщению – seMikel
что-то подобное http://stackoverflow.com/questions/7388288/jersey-restfull-service-with-json – gurvinder372