mvc call api controller PostAsJsonAsync action 方法名 Get

mvc call api controller PostAsJsonAsync action Method name Get

我正在做一个 Asp .Net MVC 5 APP 并且我正在使用 PostAsJsonAsync 调用一个 API 控制器

int value=0;
HttpResponseMessage response = await client.PostAsJsonAsync(apiUrl + "Method/Action",value);

我的 Api 控制器方法是这样的...

[ActionName("GetByUpload")]
public int ByUpload([FromBody]long id)
{
    return 100;
}

如果方法名以GET开头给我报错405

为什么不能调用以 Get 开头的方法?

有什么方法可以调用 Get..something?

如果您打算 post 该操作,您需要明确地为该操作分配一个 HttpPost 属性,以便路由 table 知道如何将请求匹配到该操作动作 .

[HttPost]
[ActionName("GetByUpload")]
public int ByUpload([FromBody]long id)
{
    return 100;
}