0

我是 ASP.NET MVC 的新手,这是我第一次使用 API。

给定一个对象,我正在尝试做一个 PUT。但是,在启动应用程序并查看可用的 API 后,它显示我的 PUT URL 如下,没有任何参数选项。

/api/File

不应该是这样的/api/File/{}吗?

控制器

[HttpPut]
public void PutFile (FileData file)
{
  ...
}

如果我这样做完全错误,请告诉我!

4

2 回答 2

0

该 URL 是正确的,因为您发送的对象应该以正确的内容类型在请求正文中传递....如果您正在上传文件,可能是 multipart/form-data。如果FileData不是一个文件而只是一个复杂的对象,那么您可以使用 application/x-www-form-urlencoded 用于表单或 application/json 用于 AJAX。

于 2013-06-07T17:57:54.273 回答
0

tforester 的答案是正确的,但只是补充。您需要使用FromBodyAttribute告诉 webapi 非原始对象(例如 FileData)是预期的,并且它位于传入请求的正文中。例如

[HttpPut]
public void PutFile ([FromBody]FileData file)
{
  ...
}
于 2013-06-07T18:29:52.530 回答