"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 шт):

Автор решения: Roman C

Чтобы отправить HTTP-запрос POST на REST контроллер с помощью объекта JSON, настройте POSTMAN, как показано:

На вкладке Headers установите Content-Type как application/json.

Задайте тело запроса как необработанный объект JSON и введите объект JSON в POSTMAN.

Ответ представляет собой объект JSON, указывающий на успех.

Об этом и как пользоваться программой POSTMAN см. на учебном сайте.

Настройка заголовков запросов

Некоторые API требуют, чтобы вы отправляли определенные заголовки вместе с запросами, как правило, для предоставления дополнительных метаданных о выполняемой вами операции. Вы можете настроить их на вкладке Headers. Введите любые пары ключ-значение, которые вам нужны, и Postman отправит их вместе с вашим запросом. По мере ввода Postman будет предлагать вам общие параметры, которые вы можете использовать для автозаполнения настроек, например Content-Type.

→ Ссылка