我在AZURE中有一个API实例,其配置如下。
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定义中没有任何基本路径。
答案 0 :(得分:1)
确保检查您的Azure APIM中的API是否已配置为除了HTTPS之外还接受HTTP。您可以在设置API后端网址的同一页面上的API设置中进行设置