You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WebAssembly客户端读取服务器文本文件时传参遇404错误求助

解决ASP.NET Core API 404错误的问题

问题根源:路由不匹配

你的控制器路由配置错误,导致客户端请求地址和实际API地址不对应:

  • 控制器上的[Route("api/controller")]是固定字符串,实际生成的API路径是api/controller/{filename}
  • 客户端请求的是api/ReadText/Euler13.txt,两者路径完全不匹配,所以返回404

修复步骤

1. 修改控制器的路由属性

把控制器上的Route属性改成带占位符的形式,让框架自动替换控制器名称:

namespace Training.Server.Controllers
{
    // 将 "api/controller" 修改为 "api/[controller]"
    [Route("api/[controller]")]
    [ApiController]
    public class ReadTextController : Controller
    {
        [HttpGet("{filename}")]
        public string[] Getfile(string filename)
        {
            string[] ret = new string[3];
            ret[0] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaa";
            ret[1] = "bbbbbbbbbbbbbbbbbbbbb";
            ret[2] = "ccccccccccccccccccccccccccccccccccccc";
            return ret;
        }
    }
}

这里的[controller]是ASP.NET Core的路由占位符,会自动替换为控制器类名的前缀(ReadTextController → ReadText),修改后API的实际路径就是api/ReadText/{filename},和客户端请求的地址完全匹配。

2. 验证请求

修改后客户端代码不需要改动,直接运行即可。也可以在浏览器里直接访问https://你的服务器地址/api/ReadText/Euler13.txt,看是否能返回预期的字符串数组,快速排查问题。

额外小提示

如果你的项目配置了Swagger,可以打开Swagger页面查看生成的API路径,确认路由是否正确配置,这对新手调试API很有帮助。

内容的提问来源于stack exchange,提问作者Shipmate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 13:25:21