尝试到达 Angular 通用 (SSR) 路由给出 404(无法获取)

Trying to reach Angular Universal (SSR) route gives 404 (Cannot Get)

我创建了一个 SSR Angular 应用程序,我想通过 api 或邮递员联系它。 我需要从 SSR 应用程序生成的 html。

应用程序的路由如下:

const routes: Routes = [
{
  path: 'test',
  component: TestComponent
}
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

如果我在 Chrome 中导航到 http://localhost:4200/test,我将成功路由到 TestComponent 并显示内容

如果我在 Postman 中输入 angular 应用程序 (http://localhost:4200) 的根目录,我会得到 200 并且 html 显示为响应。

但是 如果我在 postman (http://localhost:4200/test) 中输入测试路由,我得到一个 404,响应中的内容是:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>Error</title>
</head>

<body>
    <pre>Cannot GET /test</pre>
</body>

</html>

我在这里错过了什么?我没有配置任何代理,我也没有尝试访问 api 路由。

4200为客户端开发端口

如果您想测试 SSR 是否正常工作,您需要使用 server.ts 文件中指定的端口,我认为默认情况下是 4000

http://localhost:4000/test

注意:我不确定为什么,但我发现要使用 Postman 访问客户端应用程序(端口 4200)上的特定路由,您需要在 Postman 中添加 Accept header .

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3

设置 header 后,您应该可以使用 Postman 访问 http://localhost:4200/test,但您将不会再次使用该端口测试 SSR