2016-11-03 4 views
-1

Я пытаюсь вызвать URL с данными со значением JSonНедопустимый URL вызова с JSON

значение dataExist является

"{" имя ":" Роберт Трюдо " "дата рождения":" 1991-02 -12 "}"

if (memberFullName != "" && memberBirthdate != "") { 

    dataExist = JSON.stringify({name: memberFullName, birthdate: memberBirthdate}); 

    //check if user exist, it not we continue otherwise we should not 
    jQuery.ajax({ 
     type: "get", 
     url: getHostName() + "/members/validation", 
     contentType: "application/json", 
     data: dataExist, 
     dataType: 'json', 
     success: function (data, status, jqXHR) { 
      alert(status); 
     }, 
     error: function (jqXHR, status) { 
      checkError(jqXHR); 
     } 
    }); 

} 

на сервере у меня есть

@GetMapping(value = "/members/validation") 
public ResponseEntity<Void> hasUsernameExist(@RequestBody String name, @RequestBody LocalDate birthdate) { 
    boolean existing = memberService.hasMemberExist(name, birthdate); 

    if (!existing) { 
     return new ResponseEntity<>(HttpStatus.NOT_FOUND); 
    } 

    return new ResponseEntity<>(HttpStatus.BAD_REQUEST); 

} 

Когда вызов будет сделано, я получаю

Объект {readyState: 4, responseText: "", состояние: 400, его статус: "ошибка"}, статус = «ошибка

+0

Почему вы возвращение 'HttpStatus.BAD_REQUEST' и не' 'HttpStatus.OK' или HttpStatus.ACCEPTED' если пользователь существует? –

+0

HttpStatus.OK или HttpStatus.ACCEPTED можно использовать, но это не имеет никакого отношения к вопросу ... –

+0

Вы хотите, чтобы имя и дата в ответе вместо ошибки? Я не понимаю вопрос –

ответ

-1

Spring не может обрабатывать несколько тела запроса, если вы не переопределить некоторый класс.

На стороне контроллера вам нужно добавить класс, чтобы поместить все поле.

Здесь MemberSearchExistingDto может иметь имя и поле даты рождения.

В HTML:

dataExist = JSON.stringify({memberSearchExisting:{name: memberFullName, birthdate: memberBirthdate}}); 
+0

Вау, вы ответили на свой собственный вопрос неправильно ... – Milney

 Смежные вопросы

  • Нет связанных вопросов^_^