REST API中有许多类似的资源

时间:2017-12-04 12:57:27

标签: rest architecture software-design

我正在开发一个多媒体服务API。在数据库中,我有媒体表,存储不同的媒体(电影,音乐,系列等)。有两种类型的用户:管理员和用户。

用户可以使用不同的端点访问媒体:

  • / movies
  • / cartoons
  • / music
  • /系列
    • /季节
      • /集

每个端点仅返回特定于媒体类型的数据。每个端点都有特定的搜索参数。

管理员API不会公开。是否正常创建单一端点来控制媒体类型?例如,我可以创建/media端点,该端点将用于CRUD不同的媒体类型。

我应该为不同项目的用户分离管理员和API的API吗?

如果资源管理员和用户具有不同的字段,我该如何处理?

1 个答案:

答案 0 :(得分:0)

  

如果资源管理员和用户具有不同的字段,我该如何处理?

     

我应该为不同项目的用户分离管理员和API的API吗?

可能。可能有助于记住资源"适应"您的网络域模型 - 它们是一个集成问题。

  

网络不是您的域名,它是一个文档管理系统。所有HTTP谓词都适用于文档管理域。 URI不会映射到域对象 - 这违反了封装。工作(例如:向域模型发出命令)是管理资源的副作用。换句话说,资源是反腐败层的一部分。您应该希望集成域中的资源比业务域中的业务对象多得多 - Jim Webber