首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebAPI 2最佳实践-产品和类别

WebAPI 2最佳实践-产品和类别
EN

Stack Overflow用户
提问于 2013-12-31 00:58:39
回答 3查看 1K关注 0票数 2

我目前正在开发一个WebAPI 2项目。

我有两个模特:

  • 带有标识符、名称和类别的“产品”
  • 带有标识符、名称和产品列表的“类别”

在网页上,我必须显示所有产品,但按类别:

  • 第1类--产品
  • 第2类--产品-产品

我的问题是:如果我想从我的WebAPI中检索一个人口密集类别的列表,我是否:

  • 创建一个控制器"ProductsController“并实现一个返回IEnumerable类型的对象的方法?
  • 还是创建一个控制器"CategoriesController“并实现一个返回IEnumerable类型的对象的方法?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-31 01:13:53

您正在返回的类别,碰巧有产品作为儿童。我将在CategoryController (而不是CategoriesController)中实现这一点。它应该返回IQueryable而不是IEnumerable。

代码语言:javascript
复制
public class CategoryController
{
    [Queryable]
    public IQueryable<Category> Get()
    {
        ....
    }
}
票数 2
EN

Stack Overflow用户

发布于 2013-12-31 01:22:12

这完全取决于您如何组织您的UI -即您的用例。(请注意,控制器不特定于任何业务逻辑问题,而仅限于物理网页或API情况下的资源。)

  • 如果您有一个页面“类别”,并且希望看到属于特定类别的所有产品,那么CategoryController方法将是合适的。
  • 如果您有一个页面“产品”,并且希望按类别对它们进行筛选,那么ProductController方法将是最好的选择。
  • 如果两者都需要,那么将两者都实现。
票数 1
EN

Stack Overflow用户

发布于 2013-12-31 08:05:48

您应该创建CategoryController并返回IQueryable而不是IEnumerable。因为IQueryable是内存外的最佳选择。

代码语言:javascript
复制
public IQueryable<Category> GetCategory()
{
   //your get logic here
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20850077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档