Я пытаюсь отправить на мой сервер запрос POST из моего приложения реаги , но, тем не менее, я получаю ошибку status 400 Bad Request . Исключение составляет :
"org.springframework.http.converter.HttpMessageNotReadableException".
Сообщение об ошибке: :
"Ошибка синтаксического анализа JSON: Невозможно десериализовать экземпляр java.util.LinkedHashMap из токена START_ARRAY; вложенное исключение - com.fasterxml.jackson.databind.JsonMappingException: Невозможно десериализовать экземпляр java.util.LinkedHashMap из токена START_ARRAY \ n на [Source: java.io.PushbackInputStream@6a188b06; строка: 1, столбец: 1] "
Я пытался протестировать API с помощью POSTMAN но я все еще получаю ту же ошибку.
@PostMapping("/cart")
public Cart create(@RequestBody CartRequest cartRequest){
return cartRepository.save(new Cart(0,cartRequest.getProductname()));
}
Мой класс моделей
public class CartRequest {
String productname;
public CartRequest(int productid, String productname) {
this.productname = productname;
}
public String getProductname() {
return productname;
}
public void setProductname(String productname) {
this.productname = productname;
}
@Override
public String toString() {
return "CartRequest{" +
", productname='" + productname + '\'' +
'}';
}
}
Класс хранилища следующий
public interface CartRespository extends JpaRepository<Cart, Integer> {
}
Код запроса
import React, { Component } from "react";
import axios from 'axios';
import NavBar from "./navbar";
export default class Products extends Component {
state = {
isLoading: true,
groups: [],
};
constructor(props){
super(props);
{
this.add = this.add.bind(this);
}
}
add(id, name) {
axios({
method: 'post',
url: '/api/cart',
body: {
productid: id,
productname: name
}
});
}
async componentDidMount() {
const response = await fetch('api/product');
const body = await response.json();
this.setState({ groups: body, isLoading: false });
}
Кнопка, отправляющая запросы, выглядит следующим образом:
{this.state.groups.map(group => <button key={group.id} onClick={() => this.add(group.productid, group.name)} className="flex-c-m size1 bg4 bo-rad-23 hov1 s-text1 trans-0-4">Add to Cart</button>)}
Я пытаюсь получить информацию из продукта и добавить ее ккорзина.
Информация о товаре hкак было получено с помощью запроса GET .