我怎样才能从 REST-Backend 在 Angular 前端接收一个字符串
How can I receive just a string in Angular frontend from REST-Backend
对于我的应用程序,我在 Java 后端计算了一些值。我唯一想做的就是在我的 Angular 前端接收这个字符串,但是我在 Observable 类型上遇到了困难。
这是我的后端 REST 调用,它使用 Spring Boot/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";
}
现在我唯一想做的就是在我的 Angular 前端获取该字符串。但是我不明白这是如何与 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();
最简单的方法是什么?我究竟做错了什么?我找不到类似的例子,每个人总是只展示如何使用数组等,但 none 展示了它是如何只对一个字符串完成的。
您需要为订阅添加一个功能:
let m: string;
this.getFromHttpClient("auftrag/calculate", this.myObject).subscribe((result: string) => {m = result;});
这是正确的语法:
this.getFromHttpClient("auftrag/calculate", this.myObject).subscribe((response) => let m: string = response;);
对于我的应用程序,我在 Java 后端计算了一些值。我唯一想做的就是在我的 Angular 前端接收这个字符串,但是我在 Observable 类型上遇到了困难。
这是我的后端 REST 调用,它使用 Spring Boot/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";
}
现在我唯一想做的就是在我的 Angular 前端获取该字符串。但是我不明白这是如何与 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();
最简单的方法是什么?我究竟做错了什么?我找不到类似的例子,每个人总是只展示如何使用数组等,但 none 展示了它是如何只对一个字符串完成的。
您需要为订阅添加一个功能:
let m: string;
this.getFromHttpClient("auftrag/calculate", this.myObject).subscribe((result: string) => {m = result;});
这是正确的语法:
this.getFromHttpClient("auftrag/calculate", this.myObject).subscribe((response) => let m: string = response;);