首页 > 解决方案 > REST API 中的外键约束

问题描述

我正在为旅行计划应用程序设计 RESTful API,但不知道如何对资源创建实施外键约束。我有两个资源:TripUser. Trip资源如下所示:

{
  "id": 1,
  //some other attributes
  "tripParticipants":[ 
    {
      "id": 1
    }
   ]
}

IDtripParticipants集合在哪里。应该只包含 created (通过 created 我的意思是存储在数据库中)。UserTripParticipantsUsers

我无法使用端点POST /trips/{id}/tripParticipants将元素添加到集合中。User当我的数据库中不存在给定的 id时,我应该返回什么?返回操作HTTP 404的状态码POST看起来很奇怪。REST 标准是否为此用例定义了一些解决方案?

标签: rest

解决方案


在这种情况下可以使用两种 HTTP 状态码:

两者都适合您的情况。就我个人而言,我会选择422.


推荐阅读