现代 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中$rootscop怎样传值

查看angular版本

Angular 2:如何将路由参数传递给子路由?

如何在Angular 13中基于不同的环境(本地和qa)注入服务(本地和api)?

如何使用 TypeScript 将多个参数传递给 Angular 中的 @Directives (@Components)?

如何使用 MatDialog 将行数据或数组对象传递给 Angular 中的组件