繁体   English   中英

反应 setupProxy 不代理请求

[英]React setupProxy not proxying request

我正在尝试使用 asp.net 核心 web ZDB974238714CA8DE6FZ34A 在两个单独的项目中设置 React web 应用程序。 我按照 Microsoft 的指南使用两个单独的 Visual Studio 项目设置模板 - 使用 React 创建 ASP.NET 核心应用程序 - https://learn.microsoft.com/en-us/visualstudio/javascript/tutorial-asp-net-core- with-react?view=vs-2022

开箱即用,一切正常,我可以将我的 api 请求代理到示例 /weatherforecast 控制器的 get 方法。 接下来,我创建了自己的 controller,现在我似乎无法将我的请求代理到这个 controller。

向 https://localhost:3000/api/employee 发出请求只会返回 404。我还在控制台中看到一条关于没有匹配路由的消息。

我已经为上下文尝试了各种模式,但都没有运气。 我认为'/ api'就是我所需要的。

我的 setupProxy.js 文件看起来像这样。

const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function (app) {
    app.use(
        ['/api/weatherforecast', '/api/employee'],
        createProxyMiddleware({
            target: 'https://localhost:7157',
            secure: false,
        })
    ); };

我的启动设置。json 在我的 web api 项目中

{
  "profiles": {
    "WebApi": {
      "commandName": "Project",
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "dotnetRunMessages": true,
      "applicationUrl": "https://localhost:7157;http://localhost:5157"
    },
    "IIS Express": {
      "commandName": "IISExpress",
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  },
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:34955",
      "sslPort": 44352
    }
  }
}

我的部分员工 Controller

namespace WebApi.Controllers {
    [ApiController]
    [Route("api/[controller]")]
    public class EmployeeController : Controller
    {
        private readonly ILogger<EmployeeController> logger;
        private readonly Context context;
        
        

        public EmployeeController(ILogger<EmployeeController> logger, TenthContext context)
        {
            this.logger = logger;
            this.context = context;
        }



        // GET: EmployeeController
        [HttpGet(Name="GetEmployee")]
        public IEnumerable<Employee> Get()
        {
            var employees = context.Employees.ToList();
            return employees;
        }

不知道这笔交易是什么,但在我重新启动后一切都按预期工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM