Asp.net web api ASP.NET Web API控制器的参数格式问题

Asp.net web api ASP.NET Web API控制器的参数格式问题,asp.net-web-api,Asp.net Web Api,我正在观看这个关于WebAPI的pluralsight演示视频,他正在使用fiddler通过Http Get和controller/parameter的语法传入一个参数 所以他用的是http://localhost:2405/api/values/5 5是他传递的参数 在我的代码中,我所有的设置都和他完全一样。。。路由模板为{controller}/{id},控制器方法的签名为 public string Get(string zipcode) 我可以通过http://localhost:24

我正在观看这个关于WebAPI的pluralsight演示视频,他正在使用fiddler通过Http Get和controller/parameter的语法传入一个参数

所以他用的是
http://localhost:2405/api/values/5

5是他传递的参数

在我的代码中,我所有的设置都和他完全一样。。。路由模板为
{controller}/{id}
,控制器方法的签名为

public string Get(string zipcode)
我可以通过
http://localhost:2405/api/values?zipcode=25252
但是如果我尝试像他那样传递参数,比如
http://localhost:2405/api/values/25252
我收到一个错误,说我没有可用于在控制器上处理该请求的操作


他做对了什么,我做错了什么?

您需要将路由模板更改为
{controller}/{zipcode}
,因为参数的名称必须与模板中的名称匹配。

哦,糟了!你知道,我还在学习这整件事,所以我认为{id}字段是反射使用的某种关键字,比如{controller}。非常感谢你!我同意。哪些东西是关键词,哪些是传统的“魔法”,并不总是直观的。