I really start with the controllers for my small application, and I have it now:
@RequestMapping("/users/{id}") public ModelAndView showMemeber(@PathVariable Integer id) { ModelAndView mav = new ModelAndView("user/show"); mav.addObject("title", "Show User"); mav.addObject("user", userService.findById(id)); return mav; } @RequestMapping(value="/users/{id}", method=RequestMethod.DELETE) public String deleteMemeber(@PathVariable Integer id) { userService.delete(id); return "redirect:users"; }
the first one works fine, but the second one doesn't, I have the following view for the first controller:
<div class="panel-heading">Personal information</div> <div class="panel-body"> <form method="post"> ... <button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-pencil"></span> Edit</button> <button type="submit" class="btn btn-danger" onclick="return confirm('Are you sure you want to delete {{ user.username }}?')"><span class="glyphicon glyphicon-remove"></span> Delete</button> </form> </div>
As you can see, I have two buttons here: one for editing an object and one for deleting it. After removing it, you must redirect to https://<my domain>/users .
The problem is that when I click on Delete , it just refreshes the page and the object is saved in the database, whatβs wrong here?
- I am trying to send a
Delete request as curl -X "DELETE" http://localhost:8080/my-app/users/18 , but this did not work.
user3697569
source share