在我的應用程序中,我可以創建和更新實體。問題是我不能將一個createOrUpdate方法中的這兩個方法與POST映射合併,並檢查對象是否是新的(這是因爲ID不是自動生成的,由用戶提供)。 我最終創建了一個方法創建(POST映射)和更新(PUT映射)。但過了一段時間,我知道在Spring中,如果方法是PUT,那麼它不能請求參數。 所以,我想我應該使用2個POST方法,但它們具有相同的URL模式,因爲我的應用程序無法正常工作。是否可以在Spring MVC中區分2個POST方法和相同的URL?
是否有可能做出類似的東西?
@RequestMapping(value = "/ajax/users")
/.../
@PostMapping (//specific param here to distinguish???)
public void create(User user)
{
service.save(user);
}
@PostMapping(//specific param here to distinguish???)
public void update(User user)
{
service.update(user);
}
function save() {
$.ajax({
type: "POST", //specific param here to distinguish?
url: ajaxUrl,
data: form.serialize(),
success: function() {
$("#editRow").modal("hide");
updateTable();
successNoty("Saved");
}
});
}
function update() {
$.ajax({
type: "POST",//specific param here to distinguish?
url: ajaxUrl,
data: form.serialize(),
success: function() {
$("#editRow").modal("hide");
updateTable();
successNoty("Updated");
}
});
}
在此先感謝
1 /爲什麼不使用2個不同的網址? 2 /我相信你可以使用@pathvariable 3 /你發送相同的表格,那麼爲什麼還有兩種方法呢? –
是什麼強迫你設計它呢? –
:D 好的,有不同的URL似乎是唯一的解決方案,thx –