Spring boot 在SpringBoot应用程序中,GetMapping工作但PostMapping不工作

Spring boot 在SpringBoot应用程序中,GetMapping工作但PostMapping不工作,spring-boot,rest,web-services,Spring Boot,Rest,Web Services,嗨,我在SpringBoot应用程序中有一个REST控制器,它有许多方法。我的GET方法工作正常,但是我的POST方法不工作,而是返回一个错误405,表示该方法是不允许的。任何想法都会有帮助;提前谢谢 @GetMapping("orders") public List<OrderDto> getOrders() { List<OrderDto> orderDtos = new ArrayList<>();

嗨,我在SpringBoot应用程序中有一个REST控制器,它有许多方法。我的GET方法工作正常,但是我的POST方法不工作,而是返回一个错误405,表示该方法是不允许的。任何想法都会有帮助;提前谢谢

    @GetMapping("orders")
    public List<OrderDto> getOrders() {
        List<OrderDto> orderDtos = new ArrayList<>();
        
//      get all the orders using the getOrders method in the OrderService class
        List<Order> orders = orderService.getOrders();
        
//      convert each of the returned orders into orderDto
        
        orders.forEach(o->{
            orderDtos.add(OrderDto.from(o));
        });
        
        return orderDtos;       
    }
    
    @GetMapping("lineitems")
    public List<OrderLineItemDto> getOrderLineItems(){
        
        List<OrderLineItemDto> orderLineItemDtos = new ArrayList<>();
        
//      get line items using the getOrderLineItems service
        List<OrderLineItem> orderLineItems = orderLineItemService.getOrderLineItems();
        
//      convert each of the returned order line items into an orderLineItemDto so that the DTO is the one that gets returned to the client
        orderLineItems.forEach(ol->{
            orderLineItemDtos.add(OrderLineItemDto.from(ol));
        });
            
//      return the list of lineItemDtos to the calling client.
        return orderLineItemDtos;
    }
    
    @GetMapping("lineitems/{id}")
    public OrderLineItem getOrderLineItem(@PathVariable Long id) {
        return orderLineItemService.getOrderLineItem(id);
    }
    
    @PostMapping("order/add")
//  @RequestMapping(value = "order",
//  consumes = "application/json",
//  method = RequestMethod.POST)
    public void addOrder(@RequestBody OrderDto orderDto) {
        
        Order order = new Order();
        
//      convert the orderDto into order
        order = Order.from(orderDto);
        
//      use the order in the order creation service
        
        orderService.addOrder(order);
        
    }
@GetMapping(“订单”)
公共列表getOrders(){
List orderDtos=new ArrayList();
//使用OrderService类中的getOrders方法获取所有订单
List orders=orderService.getOrders();
//将每个返回的订单转换为orderDto
订单。forEach(o->{
orderDtos.add(OrderDto.from(o));
});
返回订单DTO;
}
@GetMapping(“行项目”)
公共列表getOrderLineItems(){
List orderLineItemDtos=new ArrayList();
//使用getOrderLineItems服务获取行项目
List orderLineItems=orderLineItemService.getOrderLineItems();
//将每个返回的订单行项目转换为orderLineItemDto,以便该DTO是返回给客户机的
orderLineItems.forEach(ol->{
添加(OrderLineItemDto.from(ol));
});
//将LineItemdTo列表返回给调用客户端。
返回orderLineItemDtos;
}
@GetMapping(“lineitems/{id}”)
public OrderLineItem getOrderLineItem(@PathVariable Long id){
返回orderLineItemService.getOrderLineItem(id);
}
@邮戳(“订单/添加”)
//@RequestMapping(value=“order”,
//consumes=“application/json”,
//method=RequestMethod.POST)
public void addOrder(@RequestBody OrderDto OrderDto){
订单=新订单();
//将orderDto转换为order
订单=订单.from(orderDto);
//在订单创建服务中使用订单
orderService.addOrder(order);
}

查看邮递员的回复,似乎请求被解释为get,即使选择了post。你能给我们看一下你要添加的标题吗?请尝试使用Curl执行请求,谢谢您的帮助。事实证明,问题在于本文中描述的安全配置问题