角后端服务调用没有休息调用
Posted
技术标签:
【中文标题】角后端服务调用没有休息调用【英文标题】:Angular back end service call without rest call 【发布时间】:2019-03-12 17:45:18 【问题描述】:是否可以在没有 REST 特定方式的情况下从 Angular 4 调用后端服务?
我想实现一个 GUI,但使用 REST 受到限制,所以我想要其他方式来调用我的服务。
简而言之,我想创建一个传统的 MVC 项目,其中 Angular 是 VIEW。其余部分将保持与传统框架一样。
【问题讨论】:
你可以使用 WebSockets 您也可以使用服务器端事件。 ***.com/questions/40987560/… 在这些技术中,我还必须在服务器端实现我不想要的 REST API,我想创建一个传统的 MVC 项目,其中 Angular 是 VIEW ...其余的东西将保持不变是。 【参考方案1】:您可以使用 WebSockets 与 Angular 应用程序的后端通信。
WebSocket 是与 HTTP 不同的协议,它可以在 Web 客户端(例如浏览器)和 Web 服务器之间以较低的开销进行交互。在 TLS 加密连接的情况下,通信通过 TCP 端口号 80 或 443 完成。
服务示例:Real Time Apps with TypeScript: Integrating Web Sockets, Node & Angular
import Injectable from '@angular/core';
import Observable from 'rxjs/Observable';
import Observer from 'rxjs/Observer';
import Message from '../model/message';
import Event from '../model/event';
import * as socketIo from 'socket.io-client';
const SERVER_URL = 'http://localhost:8080';
@Injectable()
export class SocketService
private socket;
public initSocket(): void
this.socket = socketIo(SERVER_URL);
public send(message: Message): void
this.socket.emit('message', message);
public onMessage(): Observable<Message>
return new Observable<Message>(observer =>
this.socket.on('message', (data: Message) => observer.next(data));
);
public onEvent(event: Event): Observable<any>
return new Observable<Event>(observer =>
this.socket.on(event, () => observer.next());
);
【讨论】:
在这些技术中,我还必须在服务器端实现我不想要的 REST API,我想创建一个传统的 MVC 项目,其中 Angular 是 VIEW ...其余的将保持不变是。以上是关于角后端服务调用没有休息调用的主要内容,如果未能解决你的问题,请参考以下文章