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

Postman中设置带多斜杠的Http GET请求报错,求解决方法

问题分析与解决建议

错误原因

你的API路由[HttpGet("Transactions/Speciality/{id}")]定义的是路径参数,要求id必须作为URL路径的一部分(比如/Tradings/Transactions/Speciality/1)。但你用?id=1这种查询参数的方式请求时,ASP.NET Core的路由系统会把路径里的Speciality当成{id}的取值,而这个字符串显然不符合id的数字类型要求,所以抛出了验证错误。

解决办法

有两种可行的方案,根据你的需求选择:

方案1:修改请求URL匹配路由定义

直接按照API设计的正确格式请求,把id放在路径里:

{{host}}/Tradings/Transactions/Speciality/1

这是最贴合现有代码的方式,不需要修改后端代码,直接调整Postman的请求URL即可。

方案2:修改后端路由支持查询参数

如果需要支持用查询参数传递id,可以修改TradingsController里的路由定义,把{id}改成查询参数的形式:

// 方式一:仅支持查询参数
[HttpGet("Transactions/Speciality")]
public IActionResult YourActionName(int id)
{
    // 业务逻辑代码
}

// 方式二:同时支持路径参数和查询参数
[HttpGet("Transactions/Speciality/{id?}")]
public IActionResult YourActionName(int id)
{
    // 业务逻辑代码
}

第二种方式里的{id?}表示id是可选的路径参数,这样无论是/Tradings/Transactions/Speciality/1还是/Tradings/Transactions/Speciality/?id=1都能正常匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 06:03:15