में रीस्टफुल डिलीट को कैसे संभालें I स्प्रिंग एमवीसी नियंत्रक में रीस्टफुल डिलीट का सही तरीके से उपयोग कैसे करें? मेरे पास डीएओ है जो कुछ आइटम हटाने की कोशिश करते समय बूलियन लौटाता है।स्प्रिंग एमवीसी
मैं आइटम को हटाने का प्रयास कर रहा हूं। अगर सबकुछ ठीक था, तो बस आइटमों की सूची दिखाएं (हटाए गए आइटम अब और नहीं होंगे)। अगर आइटम को हटाया नहीं जा सकता है, तो विवरण पृष्ठ पर रीडायरेक्ट करें और कहें कि इसे क्यों हटाया नहीं जा सका।
क्या मुझे कुछ विशेष प्रतिक्रिया स्थिति या ऐसा कुछ चाहिए? क्या मेरा दृष्टिकोण सही है?
@RequestMapping(value = "items/{id}", method = RequestMethod.DELETE)
public String delete(@PathVariable("id") int itemId, Model model) {
Item item = itemDao.get(id);
// true -> can delete
// false -> cannot delete, f.e. is FK reference somewhere
boolean wasOk = itemDao.delete(item);
if (wasOk) {
return "redirect:/items";
}
// will write to user which item couldn't be deleted
model.addAttribute("item", item);
return "items/error";
}
ठीक है, लेकिन जब मैं ऐसा करता हूं, तो मैं "त्रुटि दृश्य" के रूप में हल किए गए पृष्ठ पर उपलब्ध होने के लिए मॉडल में सामान कैसे लगा सकता हूं? अपवाद फेंकने से पहले मैंने "model.addAttribute (" badItem ", item)" ... "लेकिन यह errorView.jsp पेज – Xorty
पर उपलब्ध नहीं है, आप एक नया मॉडल और दृश्य (" त्रुटि दृश्य "," badItem ", ex .getItem()) 'नियंत्रक से, मानते हुए कि आपके पास एक कस्टम अपवाद था जो आइटम का संदर्भ रख सकता था। हालांकि यह थोड़ा गन्दा लगता है। – Kodi
ये संभवतः एटीएम करने के लिए सबसे अच्छी बात है – Xorty