Mein Controller:'Löschen' Methode wird nicht mit Feder unterstützt
@RequestMapping(value = "/list/{fn}", method = RequestMethod.DELETE, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody ResponseEntity<Record> deleteUser(@PathVariable("fn") String filename) {
System.out.println("Fetching & Deleting data " + filename);
Record user1 = rep.findByfilename(filename);
if (user1 == null) {
System.out.println("Unable to delete." + filename + " not found");
return new ResponseEntity<Record>(HttpStatus.NOT_FOUND);
}
rep.deleteByfilename(filename);
return new ResponseEntity<Record>(HttpStatus.NO_CONTENT);
}
}
Mein js Code:
$scope.del = function (record) {
if (confirm('Do you really want to delete?')){
$http['delete']('/camera/list/' + record.filename).then(function() {
$scope.records.splice($scope.records.indexOf(record), 1);
});
}
};
Mein Zugang Einstellung:
http
.authorizeRequests()
.antMatchers("/", "/home").permitAll()
.antMatchers("/imageview", "/hello").access("hasRole('USER')")
.antMatchers("/camera/list").permitAll()
.antMatchers("/camera/store").permitAll()
.antMatchers("/camera/list/{fn}").permitAll()
.antMatchers("/imageview2", "/hello2").access("hasRole('ADMIN')").and()
.formLogin().and().exceptionHandling()
.accessDeniedPage("/access-denied");
http
.authorizeRequests()
.antMatchers("/", "/home").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login").permitAll()
.and()
.logout()
.permitAll();
}
Der Fehler ich erhalte ist:
DELETE
XHR
http://localhost:8086/camera/list/a0c8918e4b088de4a5c7796e3eb11229 [HTTP/1.1 405 Method Not Allowed 22ms]
Zuerst kann meine Löschfunktion funktionieren, aber nachdem ich die Federsicherheit verwende, habe ich diesen Fehler bekommen, der nicht unterstützt wird. Jeder kann helfen? Ich habe versucht, online nach Hilfe zu suchen, aber keine Lösung.
Ich habe keine web.xml-Datei –
Dann in Ihrer Klasse WebApplicationInitializer implementieren – Alexander
Erstellen Sie eine neue Klasse richtig? –