问题描述
我在AZURE中有一个API实例,其配置如下。
- API端点:corol.abpparking.domain.com
- API后缀:myaboutpage
- 后端Web服务URL:
takeUntil
有效的方法 如果我直接按如下所示调用GET到/ about的Web服务URL,则会收到响应代码200
takeuntil
什么不起作用 如果我通过APIM执行相同的操作,则会得到未找到的404资源。
import { Subject } from 'rxjs';
import { tap,takeuntil,switchMap } from 'rxjs/operators';
complete$ = new Subject<any>();
Listeners.pipe(
switchMap((personListening) => { // <-- switch to the `DataStream` observable
return DataStream.pipe(
tap((data) => personListening.send(data)),// <-- call `send()` here
takeuntil(fromEvent(personListening,'data:leave'))
);
}),takeuntil(this.complete$) // emit `complete$` on `ngOnDestroy` hook
).subscribe(
_,// <-- do nothing on response
(err) => console.log(err) // <-- handle error
);
ngOnDestroy() {
this.complete$.next(); // <-- close any open subscriptions
}
我不知道我们可能是什么原因。请注意,我在Swagger定义中没有任何基本路径。
解决方法
确保检查您的Azure APIM中的API是否已配置为除了HTTPS之外还接受HTTP。您可以在设置API后端网址的同一页面上的API设置中进行设置