Asp.net mvc 我应该在WebAPI控制器中放入什么?

Asp.net mvc 我应该在WebAPI控制器中放入什么?,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,找不到有关操作类型的任何信息,我可以将这些信息提取到WebAPI控制器中 例如,我们有两个实体:BusinessProcess和WorkItem。当然,当我们谈论显示有关此实体的信息(returnview())时,我应该创建简单的Controller,但我有如下方法: 保存工作项信息 将工作项分配给其他用户 完工项目 更改工作项到期日期 停止/启动业务流程 对于这些方法中的每一种,我都将从客户端通过Ajax进行讨论 我应该将它们放在控制器中,还是只在那里存储返回视图()操作,并将ajax对话方法

找不到有关操作类型的任何信息,我可以将这些信息提取到WebAPI控制器中

例如,我们有两个实体:
BusinessProcess
WorkItem
。当然,当我们谈论显示有关此实体的信息(
returnview()
)时,我应该创建简单的
Controller
,但我有如下方法:

  • 保存工作项信息
  • 将工作项分配给其他用户
  • 完工项目
  • 更改工作项到期日期
  • 停止/启动业务流程
  • 对于这些方法中的每一种,我都将从客户端通过
    Ajax
    进行讨论

    我应该将它们放在
    控制器中
    ,还是只在那里存储
    返回视图()
    操作,并将
    ajax对话方法
    提取到WebAPI中

    顺便说一句,我将有多个
    控制器
    (ManagerWorkItemController、EmployeeWorkItemController),但我的上层方法(例如
    Finish workitem
    )对它们都是通用的


    这是否是创建WebAPI的充分理由?

    我个人认为将操作调用与api调用分开会更整洁。 一个单独的类会让你清楚每个类的责任。 尽管如此,您仍然可以在一个控制器中执行操作和api调用,但您需要决定代码流的清晰程度。
    每个数据模型最好有一个api控制器。查看REST API模式。

    如果不需要,则无需将任何内容提取到WebApi控制器中。如果您现有的代码能够工作并交付项目,那么就把它放在那里,把时间花在其他地方。问问自己,是否有任何您希望直接公开的数据(可能向任何可以看到您的URL的人公开)将在不使用现有Web UI的情况下被使用?现在这仍然是“必须拥有”还是“很好做”?