Angular 要更改url的角度代理配置

Angular 要更改url的角度代理配置,angular,proxy,Angular,Proxy,目标是使用代理更改URL: /mock/service/getInfo--->www.example.com/service/getInfo /mock/service/submit--->www.example.com/service/submit test 因此,除了添加一个目标,在第一个调用中我们删除mock,在第二个url中我们删除mock,并在末尾添加-test 我对第一个url没有问题,但不知道如何为第二个url编写配置 配置: const PROXY_CONFIG = [{ co

目标是使用代理更改URL:

  • /mock/service/getInfo
    --->
    www.example.com/service/getInfo
  • /mock/service/submit
    --->
    www.example.com/service/submit test
  • 因此,除了添加一个目标,在第一个调用中我们删除
    mock
    ,在第二个url中我们删除
    mock
    ,并在末尾添加
    -test

    我对第一个url没有问题,但不知道如何为第二个url编写配置

    配置:

    const PROXY_CONFIG = [{
     context: [
        "/mock"
     ],
     target: "https://www.example.com",
     pathRewrite: {
        '^/mock' : '', 
        '^/submit' : '/submit-test'
     },
     secure: false,
     changeOrigin: true,
     logLevel: "debug"
    }]
    module.exports = PROXY_CONFIG;
    

    按如下所示更改proxy.config。并创建一个名为“proxy.config.json”的.json文件

    {
        "/mock/service/getInfo/": {
             target: "https://www.example.com",
             pathRewrite: {
                '/mock' : ''
             },
             secure: false,
             changeOrigin: true,
             logLevel: "debug"
        },
        "/mock/service/submit/": {
             target: "https://www.example.com",
             pathRewrite: {
                '/mock/service/submit' : '/service/submit-test'
             },
             secure: false,
             changeOrigin: true,
             logLevel: "debug"
        }
    }
    
    然后向package.json添加了一个新参数

    {
      "name": "example-angular-app",
      "version": "0.0.2",
      "license": "MIT",
      "scripts": {
        "ng": "ng",
        "start": "ng serve --proxy-config=proxy.conf.json",
        "start-prod": "ng serve --proxy-config=proxy.conf.json --prod",
        "start-prod-sm": "ng serve --proxy-config=proxy.conf.json --prod --sourcemaps",
        "build": "ng build",
        "build-prod": "ng build --prod",
        "test": "ng test",
        "lint": "ng lint",
        "e2e": "ng e2e"
      },
      "private": true,
      "dependencies": {
            ...
      },
      "devDependencies": {
            ...
      }
    }
    

    您可以使用“npm run start”命令运行角度应用程序。

    谢谢,@Shehan!你知道我添加此代理后,post call停止工作的原因吗?我发送有效负载,但服务器收到一个空的。