Лучший способ спроектировать API с флеш-отдыхом, где один ресурс связан с двумя родительскими ресурсами - PullRequest
0 голосов
/ 16 апреля 2019

допустим, у меня есть три ресурса: Пользователь, Магазин и Предмет. Пользователь будет родительским ресурсом Store, а Store будет другим родительским ресурсом ресурса Item. Теперь, если пользователь делает запрос GET, чтобы просмотреть товары для определенного магазина т.е. https://example.com/user/<user_id>/store/<store_id>/items/

Я хочу сделать 3 магазина по умолчанию доступными для всех пользователей после регистрации. Пользователи смогут изменять только Предметы.

Или, если я сделаю так, как у пользователя будет дочерний ресурс элемента, а у магазина будет дочерний ресурс ресурса. Поэтому store_id присоединится к ресурсу Store с Item.

Что будет лучшим подходом для такого вида REST API

1 Ответ

0 голосов
/ 16 апреля 2019

Просто вы определяете класс API, как показано ниже

class UserStoreItemManage(Resource):
    def get(self, user_id, store_id):
        (...)

и просто добавляете ресурс вот так.

api.add_resource(UserStoreItemManage, "/user/<user_id>/store/<store_id>/items/")

Это работает.

Если вы используете flask_restful,Вы не всегда должны создавать классы, принадлежащие моделям (таблицам).

Просто укажите имя модуля, например UserStoreItemManage.Это будет хорошо.

...