Я посылаю по электронной почте идентификатор к серверу в качестве переменного пути, как (.):, когда переменный путь содержит то @ResponseBody не работает
@RequestMapping(value = "/resetPassword/{email:.+}", method = RequestMethod.GET)
public @ResponseBody MyResponse resetPassword(HttpServletRequest request, @PathVariable("email") String email)
{
MyResponse res = new MyResponse();
res.setMsg("some Text");
return res;
}
и я вызываю метод, с помощью JQuery, как:
var email = $("#fpusername").val();
$.ajax({
type : "GET",
url : "./useraccount/resetPassword/" + email,
dataType : "json",
async : true,
success : function(data) {
alert(data.msg);
}
});
Тот же метод работает, когда я посылаю [email protected]
как значение email
но получаю ошибку ниже при отправке [email protected]
406 [Ресурс, определяемый этим запросом только способен генерировать ответы с характеристиками, не согласующиеся с просьбой «принять» заголовки]
возможно дубликат [(.) Spring MVC @PathVariable с точкой становится усеченный] (HTTP: // StackOverflow.com/questions/16332092/spring-mvc-pathvariable-with-dot-is-getting-truncated) –
@Martin Frey: нет здесь проблема не в том, что моя переменная path усекается после (.). здесь проблема заключается в том, когда переменная path содержит a (.), тогда аннотация механизма ответа не работает, поэтому ajax не получает правильного ответа от сервера –
. Я пропустил регулярное выражение. Вы пытались исправить ответную медитацию json? –