Мне нужно создать взаимно-однозначное соотношение между Game
и Site
- каждая игра происходит на одном сайте. В моей базе данных site
является атрибутом объекта Game, который указывает на объект Site
.Создание взаимно-однозначного отношения RESTful API
я не мог найти много в интернете об этом, это мои идеи:
GET /game/<game_id>/site
Gets сайт игра, в, скрывая идентификатор сайта.
POST /game/<game_id>/site
Создает сайт игры, используется только один раз при создании игры.
PUT /game/<game_id>/site
Обновление сайт игра, в
DELETE /game/<game_id>/site
Удаляет сайт игры, в.
Но что, если кто-то хочет получить список всех сайтов? Должен ли я добавить URI /sites
и использовать метод get
для объекта Site
, чтобы определить, был ли передан game_id
? Должен ли я также позволить людям получить доступ к сайту по адресу /sites/<site_id>
Или я должен разрешить клиенту заполнять свой собственный список sites
, итерируя все games
? Наконец, у меня обычно есть атрибут «href» для каждого объекта, который является ссылкой на себя. Если бы я пошел с вышеупомянутой конструкцией (включая /sites/
URI), ссылку на /game/<game_id>/site
или /sites/<site_id>
? Должны ли быть два места для доступа к одной и той же информации?
Есть ли я на правильном пути? Или есть лучший способ моделирования отношений «один к одному» в REST?
Если это имеет значение, я использую Flask-RESTful для создания своих API.