从响应REST API检索数据

时间:2017-07-27 17:17:52

标签: java ajax spring rest spring-boot

我在ajax中有一个函数负责将邮件发送到REST API

@PutMapping(value = "/changeEmail", consumes = MediaType.APPLICATION_JSON_VALUE)
public HttpEntity<ChangeEmailDTO> showChangeEMail(
        @RequestBody @Valid ChangeEmailDTO changeEmailDTO
) {
    System.out.println("Email: " + changeEmailDTO.getEmail());

    return ResponseEntity.ok(changeEmailDTO);
}

该数据由控制器接收,该控制器验证该数据

@ExceptionHandler(MethodArgumentNotValidException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ResponseBody
public ValidationErrorDTO processValidationError(MethodArgumentNotValidException ex) {
    BindingResult result = ex.getBindingResult();
    List<FieldError> fieldErrors = result.getFieldErrors();

    return processFieldErrors(fieldErrors);
}

如果数据不正确,则抛出异常处理程序的异常

api.paginationGoToLastPage()

感谢我以列表https://zapodaj.net/7e359361ed05a.png.html的形式回复json时出错 我不知道如何在js / ajax中从这个响应中获取数据并为它们做些什么,例如,在页面上发布。我不知道怎么办?

1 个答案:

答案 0 :(得分:0)

更改您的ajax调用,如下所示,然后可以通过jquery dom

附加值
function changeEmail() {
    var changeEmailDTO = { "email":$('#email').val()};
    $.ajax({
        type: 'PUT',
        url: '/changeEmail',
        contentType: "application/json",
        dataType: "json",
        data: JSON.stringify(changeEmailDTO),
        success: function (result) {
            console.log(result);
        }, error: function (xhr, ajaxOptions, thrownError) {
          alert(xhr.status);
           $("#error-div").html(thrownError);---> example
           alert(thrownError);
  }


    });
}