【发布时间】:2020-08-07 01:39:51
【问题描述】:
我目前正在这样做:
[HttpPut]
public void Edit(int id, Model model)
{
...
}
这给了我端点 /api/controller?id=66 而不是我想要的:/api/controller/66
【问题讨论】:
标签: asp.net-core asp.net-core-webapi
我目前正在这样做:
[HttpPut]
public void Edit(int id, Model model)
{
...
}
这给了我端点 /api/controller?id=66 而不是我想要的:/api/controller/66
【问题讨论】:
标签: asp.net-core asp.net-core-webapi
为了得到你想要的——PUT请求中的api/controller/66,你的HTTP动词属性应该修改为[HttpPut("{id}")]
而您的id 默认是从查询字符串中获取的另一个原因是PUT 请求的参数绑定以这样一种方式工作,即原始类型从请求查询字符串和来自请求正文的复杂类型。
this答案中列出了参数绑定规则的简要说明。
【讨论】: