我有两个相同的控制器,
WeatherForecastController
(来自库存的 DotNET API / React 项目,但已被删除)和 ExampleReactController
。两者相同:
using Microsoft.AspNetCore.Mvc;
namespace DotNetReact_BackEnd.Controllers
{
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
private static List<string> Data = new List<string>() { "Testing", "123" };
[HttpGet]
public IEnumerable<string> Get()
{
return Data;
}
}
}
using Microsoft.AspNetCore.Mvc;
namespace DotNetReact_BackEnd.Controllers
{
[ApiController]
[Route("[controller]")]
public class ExampleReactController : ControllerBase
{
private static List<string> Data = new List<string>() { "Testing", "123" };
[HttpGet]
public IEnumerable<string> Get()
{
return Data;
}
}
}
我的代理已配置:
const { createProxyMiddleware } = require('http-proxy-middleware');
const context = [
"/weatherforecast",
"/examplereact"
];
module.exports = function (app) {
const appProxy = createProxyMiddleware(context, {
target: 'https://localhost:7048',
secure: false
});
app.use(appProxy);
};
两者都可以与 Swagger 配合使用,并且都可以与 Postman 配合使用,但由于某种原因,只有
WeatherForecastController
可以与 React 配合使用:
async populateStrings() {
const response = await fetch('weatherforecast');
console.log(response);
const data = await response.json();
console.log(data);
this.setState({ forecasts: data, loading: false });
}
这将返回
Array(2)
。
async populateStrings() {
const response = await fetch('examplereact');
console.log(response);
const data = await response.json();
console.log(data);
this.setState({ forecasts: data, loading: false });
}
但是这会返回:
'未捕获(承诺中)语法错误:意外的标记'<', "
已解决:删除了节点模块文件夹并执行了
npm install restore
,并以某种方式修复了它。某些内容一定已损坏或缓存且未被覆盖。