我是ASP.NET MVC的新手,这是我第一次使用API。
我正在尝试做一个PUT,给定一个对象。但是,在启动应用程序并查看可用的API之后,它会显示我的PUT URL,如下所示,没有任何参数选项。
/api/File
不应该是/api/File/{}
吗?
控制器
[HttpPut]
public void PutFile (FileData file)
{
...
}
如果我这样做完全错了,请告诉我!
答案 0 :(得分:0)
该URL是正确的,因为您发送的对象应该使用正确的内容类型在请求正文中传递....如果您要上传文件,可能是multipart / form-data。如果FileData
不是文件而只是一个复杂的对象,那么你可以使用application / x-www-form-urlencoded用于表单或者application / json用于AJAX。
答案 1 :(得分:0)
tforester答案是正确的,但只是添加。您需要使用FromBodyAttribute告诉webapi非原始对象(例如FileData)是预期的,并且它位于传入请求的正文中。 e.g。
[HttpPut]
public void PutFile ([FromBody]FileData file)
{
...
}