繁体   English   中英

来自 Spring REST API 端点的文本响应,如何在 ZC31C335EF37283C451B18BA0DDZ 端点上检索该响应

[英]Text Response from Spring REST API endpoint, how to retrieve that on Angular Front end

Spring REST API 正在响应以下响应:

  • 成功执行时:它返回一个文本类型的响应。
  • 执行不成功:它返回我 JSON 错误 object。

前端服务 Class:

private detailsURL = 'http://localhost:8080/register';

constructor(private http:HttpClient){}

register(regisDetails): Observable<any>{
   return this.http.post(this.detailsURL,regisDetails);
}

前端组件 Class:

registerUser(){
   this.service.register(this.regisForm.value).subscribe(
     success => this.successMessage = success,
     error => this.errorMessage = error.error.errorMessage
   );
}

如果出现错误,我会收到我应该收到的错误消息。 但是在成功的情况下,我没有收到successMessage。

只是想知道是否有任何方法可以在前端获取 Text 类型的响应。 否则我将不得不更改我的后端以发送 JSON 类型的响应以成功执行。

请帮我理解这件事。

您必须设置响应的状态。 在 controller 部分中,您必须在 api 请求中提及 consumes="application/json" 。

您应该在后端进行更改,并以 Json 格式响应为成功和后端提供响应。 那将是理想的解决方案。

提供与预期不同的响应确实是一个糟糕的设计。 您可以在请求“accept:application/json”中检查 header 的值,并按照前端的预期提供响应

前端修复:但是,在前端,您始终可以使用 JSON.parse(success) 将文本转换为 Json object 并根据需要进一步使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM