Boa tarde,
Estou com o erro 405
que não consigo resolver, faço a requisição pelo angular
para meu controller
spring
mas recebo esse erro.
Angular:
app.controller('forgotPassword', ['$scope', '$http', 'Notification',function($scope, $http, Notification) {
$scope.trocaDeSenha = function() {
var email = $scope.email
console.log(email);
$http({
method : "POST",
url : "/recuperaSenha",
contentType : "application/json; charset=utf-8",
data : email,
}).success(function(data) {
Notification.success("Email enviado com sucesso");
$('.btn-close-modal-cadastro').click();
}).error(function(data) {
console.log(data.status);
$('.btn-close-modal-cadastro').click();
Notification.error("Não foi possivel enviar ");
})
}
}]);
Controller Spring:
@RequestMapping(value = "recuperaSenha", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public @ResponseBody String sendEmail(@RequestBody String email) {
SimpleMailMessage message = new SimpleMailMessage();
System.out.println("cheguei no controller da senha");
System.out.println(email);
User usuario = new User();
usuario = dao.findbByEmail(email);
System.out.println(usuario);
message.setText("https://app-13-96-10020.ide.cronapp.io/#/recuperaSenhaView/token/?token=" + usuario.getHashRecover());
message.setTo(email);
message.setFrom("xxxxxxxxxxxxxxxxx");
sender.send(message);
return "{\"status\": \"ok\"}";
}
classe de autorização de request do Spring
:
@Component
public class SecurityPermission implements Permission {
public static final String ROLE_ADMIN_NAME = "Administrators";
@Override
public void loadSecurityPermission(HttpSecurity http) throws Exception {
// public
http.authorizeRequests().antMatchers("/api/cronapi/**").permitAll();
http.authorizeRequests().antMatchers("/auth/**").permitAll();
http.authorizeRequests().antMatchers("/components/**").permitAll();
http.authorizeRequests().antMatchers("/css/**").permitAll();
http.authorizeRequests().antMatchers("/device/**").permitAll();
http.authorizeRequests().antMatchers("/favicon.ico").permitAll();
http.authorizeRequests().antMatchers("/adicionaUsuario").permitAll();
http.authorizeRequests().antMatchers("/i18n/**").permitAll();
http.authorizeRequests().antMatchers("/img/**").permitAll();
http.authorizeRequests().antMatchers("/index.html").permitAll();
http.authorizeRequests().antMatchers("/js/**").permitAll();
http.authorizeRequests().antMatchers("/lib/**").permitAll();
http.authorizeRequests().antMatchers("/recuperaSenha").permitAll();
http.authorizeRequests().antMatchers("/recuperaSenhaView**").permitAll();
http.authorizeRequests().antMatchers("/recuperaSenhaView/token/**").permitAll();
http.authorizeRequests().antMatchers("/plugins/**").permitAll();
http.authorizeRequests().antMatchers("/public/**").permitAll();
http.authorizeRequests().antMatchers("/signin/**").permitAll();
http.authorizeRequests().antMatchers("/views/error/**").permitAll();
http.authorizeRequests().antMatchers("/views/login.view.html").permitAll();
http.authorizeRequests().antMatchers("/views/public/**").permitAll();
Testando varias opções para descobrir o que acontece descobri o seguinte:
1- Se eu tiro a permissão na classe do Spring, ele retorna sucesso no controller do Angular, mas claro ele nao envia o email, mas ele não deveria dar o erro 404
?
2- Eu posso apagar o meu controller Spring inteiro e ele continua dando o erro 405
, não deveria dar o 404
de novo? pois eu nao tenho quem atenda essa requisição.
Se alguém souber de alguma coisa, ou ver algum detalhe que eu perdi, vou agradecer muito.
obrigado.