Как я могу получить только строку в Angular Frontend от REST-Backend - PullRequest
0 голосов
/ 04 апреля 2019

Для моего приложения я вычисляю некоторое значение в своем бэкэнде Java. Единственное, что я хочу сделать, это получить эту строку в моем угловом интерфейсе, однако я борюсь с типом Observable.

Это мой бэкэнд REST Call, он использует аннотации SpringBoot / Jersey:

@GET
@Path("/calculate/{auftragId}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String calculateAwWithJSON(@PathParam("auftragId") String auftragId) {
    restLog("receiving put request /put/auftragId ->> " + auftragId);
    for (AuftragREST anAuftragRepoList : auftragRepoList) {
        if (anAuftragRepoList.getId().replace(" ", "").equals(auftragId)) {
            restLog("successfully calculated AW the requested data!");
            return ObjektprotokollCalculator.calculateAW(anAuftragRepoList).toString();
        }
    }
    return "0";
}

Теперь единственное, что я хочу сделать, - это вставить эту строку в мой угловой интерфейс. Однако я не понимаю, как это работает с Observables, вот что у меня есть:

public getFromHttpClient(url: string, json: any): Observable<string> {
    return this.httpClient.get<string>(`${this.basePath}/${url}/${json.id}`);
}

Однако, когда я пытаюсь убедить это, это не работает:

let m: string = this.getFromHttpClient("auftrag/calculate", this.myObject).subscribe();

Какой самый простой способ сделать это? Что я делаю неправильно? Я не мог найти подобный пример, все всегда просто показывают, как это сделать с массивами и тому подобное, но никто не показывает, как это делается для одной строки.

Спасибо за помощь!

Ответы [ 2 ]

1 голос
/ 04 апреля 2019

Это правильный синтаксис для этого:

this.getFromHttpClient("auftrag/calculate", this.myObject).subscribe((response) => let m: string = response;);
0 голосов
/ 04 апреля 2019

Вам необходимо добавить функцию подписки:

let m: string;
this.getFromHttpClient("auftrag/calculate", this.myObject).subscribe((result: string) => {m = result;});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...