-1

嗨,我正在学习 REST API 并使用此链接http://www.codeproject.com/Articles/588909/ASP-NET-WEB-API-Basics-MVC-4。我开发了一个小的 API。以下是我的控制器

 public class FileController : ApiController
    {

 [HttpGet]
    public List<files> get()
    {
        DBQuery k = new DBQuery();
        List<files> listOfFiles = k.GetAll();
        return listOfFiles;

    }



    [HttpPost]
    public int  get(int v)
    {
        return (v);

    }

有两种方法,即getupload,通过使用下面的 url,我可以访问get方法

http://localhost:53081/api/File

但是当我给出 http://localhost:53081/api/File/1这个时,我可以访问上传方法。我仍然得到get方法的结果

我的代码出了什么问题。请帮助我。我是新手

更新

如果我调用方法上传,我仍然会在我的屏幕上获得获取方法的结果

什么地方出了错

图片

在此处输入图像描述

为此 ,我http://localhost:53081/api/File/1也收到404 错误,我使用 REST Client 插件发布网址

4

1 回答 1

2

您可能最好像这样重命名您的方法

[HttpGet]
public List<File> Get()
{
    return myFileClass.MyMethodThatReturnsAListOfFiles;
}

[HttpGet]
public File Get(int id)
{
    return myFileClass.MyMethodThatReturnsASpecificFile(id);
}

您拥有的上传方法有点令人困惑,因为它应该真正接受 File 对象,并且仅限于使用 HttpPost 方法。你需要使用一个休息客户端(chrome插件,或使用Fiddler)才能让它工作,但坚持上面的模式,你会没事的。

我对替换上传方法的方法的猜测是

[HttpPost]
public File Post(File uploadedFile)
{
   return myFileClass.MyMethodThatSavesAFileAndReturnsItWithANewId(uploadedFile);
}
于 2013-09-18T09:59:25.380 回答