Chcę wysłać email za pomocą ajaxa i metody PUT do kontrolera. Otóż zauważyłem, że dane nie są wysyłanie jako 'query parameter', ale jako 'form data'. Przez co nie mogę użyć RequestParam. Muszę zastosować RequestBody(tak mi się wydaje).
Stworzyłem do tego dto
public class ChangeEmailDTO {
@Getter @Setter private String email;
}
a kontroler zmodyfikowałem w ten sposób
@PutMapping("/changeEmail")
public boolean changeEmail(
@ReuqestBody ChangeEmailDTO changeEmailDTO
) {
System.out.println("email: " + changeEmailDTO.getEmail());
return true;
}
i wysyłka
$.ajax({
type: 'PUT',
url: '/changeEmail',
data: {
email: $('#email').val()
},
success: function (result) {
console.log('function');
}
});
Jednak nie działa. No nie mam pojęci jak to naprawić.