【发布时间】:2021-08-26 07:17:17
【问题描述】:
Spring 展示 - 已解决 [org.springframework.http.converter.HttpMessageNotReadableException:缺少所需的请求正文:public com.cg.bookstore.entities.OrderDetails com.cg.bookstore.controller.OrderDetailsController.updateDeliveryStatus(int ,java.lang.String)]
控制台显示 - 未捕获(承诺中)错误:请求失败,状态码为 400
class UpdateOrder extends Component {
state = {
deliveryStatus:""
}
handleChange = (event) => {
const deliveryStatus = { ...this.state.deliveryStatus };
this.setState({ deliveryStatus: event.target.value });
};
handleSubmit = (event) => {
// Prevents default behaviour of submit button
event.preventDefault();
console.log(this.state.deliveryStatus)
console.log()
OrderService.updateDeliveryStatus(this.props.match.params.orderDetailsId,this.state.deliveryStatus)
.then((res) => {
this.props.history.push("/admin/orders");
});
};
在 OrderService 中我调用 updateDeliveryStatus
async updateDeliveryStatus(orderId,deliveryStatus){
return await axios.patch(BASE_URL+"/"+orderId,deliveryStatus)
}
spring 中的 updateDeliveryStatus 服务
@Override
public OrderDetails updateDeliveryStatus(int orderId, String deliveryStatus)
{
Optional<OrderDetails> opt = orderDetailsRepo.findById(orderId);
OrderDetails od;
if (opt.isPresent())
{
od = opt.get();
od.setDeliveryStatus(deliveryStatus);
orderDetailsRepo.save(od);
} else
{
throw new OrderDetailsNotFoundException("Order is not found");
}
return od;
}
当我在 POSTMAN 中测试后端时,我将输入作为纯字符串传递,它工作正常。是不是因为输入不是json形式的问题?如何解决这个问题?
【问题讨论】:
标签: javascript java reactjs spring-boot