Как исправить java.lang.IllegalStateException: ожидалось BEGIN_OBJECT, но было STRING в строке 1, столбце 1, пути $ - PullRequest
0 голосов
/ 29 мая 2019

Я получаю доступ к конечной точке, которая предназначена для удаления некоторых данных через угловой интерфейс и Spring-Boot, и при вызове метода на моем консоли Google Chrome появляется ошибка java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. При ближайшем рассмотрении он также выдает exception: "com.google.gson.JsonSyntaxException" со статусом ошибки 500. В результате я не могу удалить отпечатки пальцев клиента через конечную точку API, которую я вызываю.

Я пытался запустить ту же конечную точку от почтальона, но пока безуспешно.

Это пример запроса, который я делаю через почтальона:

JSON:

{ "pbuNo":"PBU689184" }

на угловой:

     this.custSvc.afisReject(customer).subscribe(data => {
      this.respo = data;
      console.log('repo', this.respo);
      if (this.respo.status === true) {
        // delete fingerprints from AFIS
        this.apiService.afisDeleteCust(this.customer.pbuno).subscribe();
        this.editMode = false;
        this.gtCustomers();
        this.blockUI.stop();
        return this.toastr.success('Customer was rejected upddated successfuly.', ' Success!');
      } else {
        this.blockUI.stop();
        return this.toastr.warning('There was problem rejecting customer details .', 'Warning!');
      }
    });

AFIS_URL = 'http://196.0.25.194:8090/otc/compas';

 afisDeleteCust(pbuno): Observable<any> {
        const headers = new HttpHeaders({ 'Content-Type': 'application/json' });
        const applicantt = { fingerPrints: [{ position: 0, base64String: '' }] };
        return this.http.post(`${this.AFIS_URL}/afis/rest/deleteapplicant`, pbuno, { headers: headers });
    }

Контроллер:

// reject customer end-point
@PostMapping(value = "/customers/rejected")
public ResponseEntity<?> rejectCustomer(@RequestBody Customer customer) {
    try {
        System.out.println("Rejected:: " + customer.getPbuno());
        int rejectCust = customerService.rejectCustomer(customer.getPbuno());
        if (rejectCust <= 0) {
            return new ResponseEntity<>(
                    new CustomResponse(CustomResponse.APIV, 200, false, "failed to reject customer"),
                    HttpStatus.OK);
        }
        return new ResponseEntity<>(
                new CustomResponse(CustomResponse.APIV, 200, true, "Customer rejected successfully"),
                HttpStatus.OK);
    } catch (Exception e) {
        return new ResponseEntity<>(
                new CustomResponse(CustomResponse.APIV, 200, false, "Server error processing request"),
                HttpStatus.OK);
    }
}

Данные отклика соответствуют модели. Когда я запускаю этот вызов с почтальоном, он возвращает ошибку 500. Любая помощь приветствуется:)

...