【问题标题】:MVC Web API/Rest: Requests by related objectMVC Web API/Rest:相关对象的请求
【发布时间】:2012-05-25 02:00:41
【问题描述】:

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

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

编辑:找到MVC Web API, get sub items,这可能就是我要找的。​​p>

伊瓦尔

【问题讨论】:

    标签: rest asp.net-web-api


    【解决方案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 的集合。

    【讨论】:

      猜你喜欢
      • 2019-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      相关资源
      最近更新 更多