Я разрабатываю RESTful API для приложения планировщика поездки и не знаю, как применить ограничение внешнего ключа при создании ресурса. У меня есть два ресурса: Trip
и User
. Ресурс Trip
выглядит следующим образом:
{
"id": 1,
//some other attributes
"tripParticipants":[
{
"id": 1
}
]
}
, где tripParticipants
- это набор User
идентификаторов. TripParticipants
должен содержать только созданный Users
(под созданным, я имею в виду, хранится в базе данных).
У меня проблема с конечной точкой POST /trips/{id}/tripParticipants
для добавления элементов в коллекцию. Что я должен вернуть, если User
с данным идентификатором не существует в моей базе данных? Возвращение HTTP 404
кода состояния для операции POST
выглядит странно. Стандарт REST определяет некоторые решения для этого варианта использования?