Sono davvero iniziare a lavorare con i controller per il mio piccola applicazione, e ho questo per ora:controllo Elimina non funziona
@RequestMapping("https://stackoverflow.com/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="https://stackoverflow.com/users/{id}", method=RequestMethod.DELETE)
public String deleteMemeber(@PathVariable Integer id) {
userService.delete(id);
return "redirect:users";
}
il primo, funziona correttamente, ma il secondo non lo fa, Ho la seguente vista per il primo 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>
come si vede, ho due pulsanti qui, uno per modificare l'oggetto e uno per eliminarlo. Una volta cancellato, deve reindirizzare a https://<my domain>/users
.
Il problema è che quando clicco su Delete
è solo aggiornare la pagina e l'oggetto persistono sul database, cosa c'è di sbagliato qui?
- cerco inviare una richiesta di
DELETE
comecurl -X "DELETE" http://localhost:8080/my-app/users/18
ma questo non ha funzionato.
Come appare la richiesta quando si fa clic sul pulsante Elimina? Invia veramente una richiesta DELETE per un URL corretto? – slnowak
Non succede niente, nessun cambiamento. –
Non è quello che sto chiedendo. Esegui firebug o qualsiasi altro strumento e guarda quale richiesta stai inviando e su quale URL dopo aver fatto clic sul pulsante. Sono abbastanza sicuro che non invii la richiesta DELETE per una risorsa adeguata. – slnowak