Azure API管理始终返回未找到404资源

问题描述

我在AZURE中有一个API实例,其配置如下。

  1. API端点:corol.abpparking.domain.com
  2. API后缀:myaboutpage
  3. 后端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设置中进行设置