一个url是否可以发布两个不同的对象(单个项目或项目集合),并且仍然可以进行REST设计?

一个url是否可以发布两个不同的对象(单个项目或项目集合),并且仍然可以进行REST设计?,rest,Rest,我将person json对象发布到负责创建对象并将其存储在数据库中的rest服务。但我有两种情况需要处理 发布一个人对象并创建一个人 发布人员数组并创建多个人员 我是否可以使用相同的url…即www.mysite.com/people/,并让服务器确定它是一个人还是一群人?我知道我在技术上可以做到这一点,但我应该如何处理这种情况,并仍然有一个RESTful设计 是的。“POST”是一种通配符,可以“逃脱”大多数事情。您不想做的是将此资源与基础资源合并。你不想发布给/人,而是想发布一些特定于任务

我将person json对象发布到负责创建对象并将其存储在数据库中的rest服务。但我有两种情况需要处理

  • 发布一个人对象并创建一个人
  • 发布人员数组并创建多个人员
  • 我是否可以使用相同的url…即www.mysite.com/people/,并让服务器确定它是一个人还是一群人?我知道我在技术上可以做到这一点,但我应该如何处理这种情况,并仍然有一个RESTful设计

    是的。“POST”是一种通配符,可以“逃脱”大多数事情。您不想做的是将此资源与基础资源合并。你不想发布给/人,而是想发布一些特定于任务的内容

    因此,对于这个任务,您需要类似于/people\u loader的东西,它返回流程的显式结果(/people\u loader/1234),这是一个链接到您刚刚创建的新人员的资源

    /人员是您的基本资源,因此/people\u加载程序的结果将是/people链接的集合,可能还有未加载对象的一些其他信息(do to errors或其他约束)