1 能否和启用共享同一个URL
不行,因为权限可能不一样
2 能否在Domain共享同一个方法,通过入参true和false来区分
不行,因为背后的业务逻辑不一样,如果启用和禁用的业务逻辑是单纯的update some_table set enabled=true/false where id=?的话说明这个业务逻辑是偏简单的,和DDD专门解决复杂业务场景的用途不相符.如果业务是复杂的(启用和禁用不仅仅是一个update)那么就需要在领域方法内做if判断,这显然是重复的.
另外如果入参不一样的话就更加不能用一个方法了
3 禁用操作的HTTP请求是否应该是DELETE操作
应该说DELETE操作是比较少见的,因为2B的系统往往为了追溯过去,都是采用禁用(在业务层面进行逻辑删除),所以即使有技术层面的逻辑删除,也很少出现DELETE操作.原因有2:
a 禁用后还可以启用,那么启用使用Post操作么,如果使用Post的话那么创建时间如何确定呢?
b 从业务上来说,禁用后可查,甚至可以再操作(例如启用)