将操作组织到控制器中
本文关键字:控制器 操作 | 更新日期: 2023-09-27 18:23:51
好吧。。。我需要列出所有上传、下载和请求。但我也需要列出所有特定于用户的上传、下载和请求。我不确定把这些动作放在哪里,以使其合乎逻辑。操作以json形式返回其数据。
- 当用户调用CCD_ 2中的CCD_
- 当用户在
UploadsController
中调用GET: Files(fileName)
时,会添加一个下载 - 当用户调用任何标有
LogAttribute
的ActionResult
时,会添加一个请求
我的控制器是什么样子的:
用户控制器
- GET:列表
- GET:创建
- POST:创建(viewModel)
- POST:删除(userID)
- GET:登录
- POST:登录(用户名,pwd)
- POST:注销
上传控制器
- GET:索引
- POST:索引(文件)
- GET:文件(文件名)
方法1:
创建两个新控制器DownloadsController
和RequestsController
。在这两个控制器中,UploadsController
创建以下操作:
- 获取:ListAll
- GET:ListFor(userID)
方法2:
创建一个具有以下操作的新控制器POST: Index(file)
0:
- 获取:ListAllUploads
- GET:ListUploadsFor(用户ID)
- 获取:列出所有下载
- GET:ListUploadsFor(用户ID)
- GET:列出所有请求
- GET:ListRequestsFor(用户ID)
如前所述,我不确定这两种方法中的哪一种(如果有的话)是有意义的。有人能解释一下哪一个是"最好的"吗?
控制器应该对功能相关的Action方法进行分组——至少我这样认为。你会不会有一个几千行的类,其中有一些不相关的方法,它们都做着独特的事情?如果不是,不要认为控制器有任何不同;毕竟,它是一个带有方法的类。我可能会选择任何一种方法——两者对我来说都很好。这取决于你喜欢什么。我甚至可能会更精细,有一个UploadsController以及DownloadsCoontroller和RequestsController。这些控制器名称将有助于将视图隔离到唯一的文件夹中,这对其他开发人员也更人性化。