REST API中的外键约束

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

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

其中tripParticipantsUser id的集合。 TripParticipants仅应包含已创建的Users(通过创建,我的意思是存储在数据库中)。

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

xiaoxin_88 回答:REST API中的外键约束

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

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

,

对于Rest,您遵循Http标准状态代码,因此404是Rest的适当代码。

这些是您可能正在使用的https://www.restapitutorial.com/httpstatuscodes.html

状态代码
本文链接:https://www.f2er.com/3133526.html

大家都在问