出现"asp.net core 2.2的post请求未能到达目标端点"的问题可能有多种原因。以下是一些可能的解决方法和示例代码:
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
并在Configure方法中添加以下代码:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
这将确保正确配置了路由以匹配请求。
检查控制器和动作方法:确保控制器和动作方法的名称和参数与请求匹配。例如,如果你的控制器名为"SampleController",并且你有一个POST动作方法名为"Create",则请求应该发送到"Sample/Create"。
检查HTTP方法:确保请求使用了正确的HTTP方法。例如,如果你的动作方法标记为[HttpPost],那么请求应该发送一个POST请求。如果请求使用了错误的HTTP方法,你可能会看到"未能到达目标端点"的错误。
检查请求的URL和参数:确保请求的URL和参数正确匹配。例如,如果你的动作方法需要一个参数,你需要确保请求中包含了该参数。你可以使用FromBody特性从请求正文中绑定参数,或使用FromQuery特性从查询字符串中绑定参数。
下面是一个示例代码,演示了一个接受POST请求的控制器方法:
[HttpPost]
public IActionResult Create([FromBody] MyModel model)
{
// 处理POST请求的逻辑
// ...
return Ok();
}
请记住,这只是一些可能的解决方法和示例代码,具体解决方法取决于你的具体情况。你可能还需要进一步检查日志、调试代码等来找到确切的问题和解决方法。