簡體   English   中英

路徑變量未映射Spring MVC

[英]Path Variable not mapping Spring MVC

所以我有以下問題。 我有一個映射到“ / reservationQuery / *”的控制器。 每當我使用“ delete_1”方法的url時,它都起作用,但是無論何時我嘗試使用“ delete_2”方法,它都說該URI沒有映射。 但是為什么會這樣呢? 我的ReservationQueryController是否應該映射所有以/ reservationQuery /開頭的URI?

並且,如果我想使用第二個URI進行刪除,是否需要制作另一個控制器並將其映射到/ reservationQuery / delete / *?

@Controller
@RequestMapping("/reservationQuery/*")
public class ReservationQueryController{
private ReservationService reservationService;

@Autowired
public ReservationQueryController(ReservationService reservationService) {
    this.reservationService = reservationService;
}


@RequestMapping(value="/reservationQuery/{reservationID}", method=RequestMethod.GET)
public String delete_1(@PathVariable("reservationID") int reservationID, Model model){
    reservationService.deleteReservation(reservationID);
    return "reservationQuery";
}


@RequestMapping(value="/reservationQuery/delete/{reservationID}",     method=RequestMethod.GET)
public String delete_2(@PathVariable("reservationID") int reservationID, Model model){
    reservationService.deleteReservation(reservationID);
    return "reservationQuery";
}




}

您應該將控制器與"/reservationQuery"映射,並將方法delete_1"/{reservationID}"映射,將方法delete_2"/delete/{reservationID}"映射。 無需在方法中重復控制器映射。

您可以在方法級別中刪除“ reservationQuery”的額外值,因為您已經在控制器(類級別)中映射了“ reservationQuery”。

因此,發生的事情是在刪除時,您的URL將以/ reservationQuery / reservationQuery /開頭。

我認為這是發生錯誤的原因,應該是HTTP錯誤404

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM