0

我有两个控制器;项目控制器和文档控制器。一个项目可以有多个文档。

如果我想通过 projectid 获取文档,应该如何以及在哪里使用 REST 来完成?(总的来说,我还没有了解 REST 如何处理相关数据)

编辑:找到MVC Web API,获取可能是我正在寻找的子项目。

伊瓦尔

4

1 回答 1

1

我相信这应该在 DocumentController 中完成。下面是一个例子

public class DocumentController : ApiController {

    public IQueryable<Document> GetDocs() 
    {

        //get db context 

            return db.documents;

    }

    public ICollection<Document> Get(int id)
    {
        return db.documents.where(d = d.ProjectId == id);

    }

}

可以使用 odata 过滤器查询来查询 IQuerable 版本。如下所示:

http://server:port/api/Document/getdocs?$filter=ProjectId eq ‘1'
http://server:port/api/Document/getdocs?$filter=DocumentId eq ‘1001'

(您必须修改 MapHttpRoute 才能注册此路由)

获取版本(第二个函数)将简单地返回基于项目 ID 的集合。

于 2012-05-24T18:00:41.033 回答