Jhipster - угловой HTTP запрос Get никогда не выполняется - PullRequest
0 голосов
/ 03 мая 2018

Я использую JHipster Framework в веб-проекте. Я новичок в этом, поэтому у меня есть несколько вопросов. Я пытаюсь реализовать вызов API от кнопки до серверной части. Я хочу, чтобы кнопка Resolve при нажатии вызывала метод, и этот метод отправляется в службу для фактического вызова API. Теперь есть проблема. Когда я получаю доступ к методу resolFile в моем Сервисе, я получаю все оповещения, но не вызов API. Когда я пытаюсь получить прямой доступ к бэкэнду, звонящему из Почтальона, это работает хорошо. Кажется, проблема в файле myFile.service.ts . У вас есть предложения?

myFile.component.html:

<button (click)="resolveFile(myfile.id)" class="btn-dark btn btn-sm">
    <span class="fa fa-beer"></span>
    <span class="d-none d-md-inline" >Resolve</span>
</button>

myFile.component.ts:

resolveFile(id) {
    alert('mpika1');
    this.myfileService.resolveFile(id);
}

myFile.service.ts

private resourceUrl = SERVER_API_URL + 'api/my-file/resolve';
resolveFile(id: String): Observable<EntityResponseType> {
    debugger;
    alert();
    this.http.get(`${this.resourceUrl}/${id}`);
    alert();
    return null;
}

myFileResource.java

@GetMapping("/my-file/resolve/{id}")
public ResponseEntity<MyFileDTO> resolveFile(@PathVariable String id)
{
    log.debug("REST request to resolve myFile: {}", id);

    // TODO
    myService.resolveFile(id);
    return null;
}

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

При использовании observable in angular и для того, чтобы их выполнить, нужно на них подписаться.

 resolveFile(id) {
    alert('mpika1');
    this.myfileService.resolveFile(id).subscribe(reslt => {
 // to see the result 
console.log(rslt) 
});
}  
0 голосов
/ 03 мая 2018

Вы должны подписаться.

this.http.get(`${this.resourceUrl}/${id}`).subscribe((res) =>{
  //res -> response output
});

Angular использует библиотеку под названием rxjs , для получения дополнительной информации https://angular.io/guide/rx-library

Для лучшей реализации лучше вернуть Observable вместо возврата null

myFile.service.ts

private resourceUrl = SERVER_API_URL + 'api/my-file/resolve';
resolveFile(id: String): Observable<EntityResponseType> {
    return this.http.get(`${this.resourceUrl}/${id}`);
}

myFile.component.ts

resolveFile(id) {
   //In here you could wait the response
    this.myfileService.resolveFile(id).subscribe((res) =>{
      //res -> response output
      alert('mpika1');
    });;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...