现代 Angular 应用程序如何使用不同的基于传统的服务
Posted
技术标签:
【中文标题】现代 Angular 应用程序如何使用不同的基于传统的服务【英文标题】:How modern angular app consumes different traditional based services 【发布时间】:2020-04-24 15:18:49 【问题描述】:我需要转换不同类型的服务,例如基于soap 的服务、wcf xml 服务、当前在silverlight 应用程序中运行的Web 服务。所以转换我们使用 Angular 作为前端,服务器端目前不做修改。
在这种情况下,问题是
是否可以直接在 Angular 中使用不同结构的 xml 服务,如soap、asmx、web 服务。或者需要在角度反序列化。
注意:目前我们不修改现有的服务响应,因为客户端已经在使用现有的应用程序。为了时间消耗,只改变了角度的业务逻辑。
否则我们需要编写任何 webapi 或包装器来使用服务并转换为 json 并将其托管在服务器中以使用 json,
还有其他技术吗?建议更受欢迎
【问题讨论】:
您只需要为您的 WCF 服务打开一个新的端点,并且您不必更新任何代码。更改您的web.config
以添加额外的 endpoint
应该可以完成工作。更多参考:***.com/q/2086666/1417185、codeproject.com/Questions/1185361/…
@paritosh 无论如何我们需要创建新的端点?,不接触以前的服务或新的端点,是否可以在角度方面做。
可行,但不建议这样做。根据当前的端点配置,您将不得不自己处理大量的 XML、SOAP、HTTP。看看在你之前的所有其他人(SOAPies 和 RESTafarians 一样),我认为结论是:在服务器上使用 JSON 比在客户端上执行所有 XML 内容更好、更便宜且总耗时更少(非本地对 SOAP 的支持真的很痛苦)。您将需要一个 RESTful 服务,使用 JSON 进行通信,客户端易于使用,或者坚持使用 XML、SOAP 并准备忍受 XML API 并享受 SOAP 标头/编码的乐趣。
【参考方案1】:
理想情况下,这应该由服务器处理 - 只需添加一个新端点即可完成工作。
但是,如果您的要求是不更改服务器上的任何内容,以下是您可以使用的 npm 包。
-
node-xml2js
ngx-xml2json
更多参考:
-
Angular2: Convert XML to JSON
Angular: Convert XML to JSON
【讨论】:
以上是关于现代 Angular 应用程序如何使用不同的基于传统的服务的主要内容,如果未能解决你的问题,请参考以下文章
如何在Angular 13中基于不同的环境(本地和qa)注入服务(本地和api)?
如何使用 TypeScript 将多个参数传递给 Angular 中的 @Directives (@Components)?