在Web API 2中以异步方式传递字符串作为参数时,找不到控制器终结点
本文关键字:参数 找不到 结点 控制器 字符串 API Web 方式传 异步 | 更新日期: 2023-09-27 18:29:12
控制器的代码
[Authorize]
[HttpPut]
[Route("TopHandler/{studentId}")]
public async Task<HttpResponseMessage> CreateClass(string studentId, String projectId)
{
var response = await Task.Run(() =>
{
// Some Code here
});
return response;
}
控制器调用的代码
await VML.Client.PutAsJsonAsync("TopHandler/" + studentId, projectId);
不幸的是,请求找不到这个终点,它给出404我正在传递一个字符串作为参数。这里可能出了什么问题?
我的理解是,当您调用PutAsJsonAsync时,参数会转换为JSON,并在请求的BODY中发送。
您应该将签名更改为:
[Route("TopHandler/{studentId}")]
public async Task<HttpResponseMessage> CreateClass([FromBody]string JSON)