[英]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.