"status": 415, "error": "Unsupported Media Type"
Проблема: не сохранятся данные в postgresql.
Через Postman пытаюсь сделать Post запрос:
[{"key":"city","value":"Москва","equals":true,"description":"","enabled":true},{"key":"outside","value":"Пушкина","equals":true,"description":"","enabled":true},{"key":"rooms","value":"3","equals":true,"description":"","enabled":true},{"key":"price","value":"30000.2","equals":true,"description":"","enabled":true},{"key":"description","value":"Отличная квартира","equals":true,"description":"","enabled":true},{"key":"id_landlord","value":"1","equals":true,"description":"","enabled":true}]
Выводится в консоли:
{
"timestamp": "2020-09-20T19:10:37.757+0000",
"status": 415,
"error": "Unsupported Media Type",
"message": "Content type '' not supported",
"path": "/program"
}
Контроллер:
@RestController
@RequestMapping("/program")
public class MainController {
@Autowired
private static HouseRepository houseRepository;
@PostMapping(consumes = {MediaType.APPLICATION_XML_VALUE, MediaType.APPLICATION_JSON_VALUE})
public String housePostAdd(@Valid @RequestBody House requestHomeDetails) {
houseRepository.save(requestHomeDetails);
return "Сообщение было доставлено.";
}
}
То, с помощью сохраняем данные:
@Entity
public class House {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private String city;
private String outside;
private Integer rooms;
private Double price;
private String description;
private Long id_landlord;
public House () {
}
public Long getId_landlord() {
return id_landlord;
}
public void setId_landlord(Long id_landlord) {
this.id_landlord = id_landlord;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getOutside() {
return outside;
}
public void setOutside(String outside) {
this.outside = outside;
}
public Integer getRooms() {
return rooms;
}
public void setRooms(Integer rooms) {
this.rooms = rooms;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
Ответы (1 шт):
Чтобы отправить HTTP-запрос POST на REST контроллер с помощью объекта JSON, настройте POSTMAN, как показано:
На вкладке Headers установите Content-Type как application/json.
Задайте тело запроса как необработанный объект JSON и введите объект JSON в POSTMAN.
Ответ представляет собой объект JSON, указывающий на успех.
Об этом и как пользоваться программой POSTMAN см. на учебном сайте.
Настройка заголовков запросов
Некоторые API требуют, чтобы вы отправляли определенные заголовки вместе с запросами, как правило, для предоставления дополнительных метаданных о выполняемой вами операции. Вы можете настроить их на вкладке Headers. Введите любые пары ключ-значение, которые вам нужны, и Postman отправит их вместе с вашим запросом. По мере ввода Postman будет предлагать вам общие параметры, которые вы можете использовать для автозаполнения настроек, например
Content-Type.