Я пробежал пару уроков до Рождества, и теперь я пытаюсь понять, откуда я ушел.Попытка научить себя REST, создав несколько простых конечных точек API.Мое замешательство происходит из-за того, что я не могу найти учебники, которые я использовал, и, кажется, есть несколько разных способов решения проблемы.Так что теперь я не уверен, как правильно это сделать.Код работает для возврата всех клиентов в БД, теперь я хочу вернуть конкретного клиента на основе его идентификатора
Хорошо, это то, что у меня есть ...
У меня есть приложение.py, которая определяет ресурс следующим образом:
api.add_resource(CustomerResource, '/Customer')
У меня есть models.py, который определяет класс клиента следующим образом:
ma = Marshmallow()
db = SQLAlchemy()
class Customer(db.Model):
__tablename__ = 'customers'
__table_args__ = {"schema":"business"}
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.Text, nullable=False)
status = db.Column(db.Integer, nullable=False)
class CustomerSchema(ma.Schema):
id = fields.Integer()
name = fields.String(required=True)
status = fields.Integer(required=True)
У меня customer.py, который определяет класс клиентакак это:
customers_schema = CustomerSchema(many=True)
customer_schema = CustomerSchema()
class CustomerResource(Resource):
def get(self):
customers = Customer.query.all()
customers = customers_schema.dump(customers)
return {'status': 'success', 'data': customers}, 200
Я пытался использовать request.args, но я не верю, что это правильный путь из-за того, что он станет неподдерживаемым.
Итак, выше всегоРаботает с GET, успешно возвращая всех клиентов.Но теперь я хочу использовать GET http://127.0.0.1:5000/api/Customer/10 и просто возвращать данные для идентификатора клиента = 10
. Я не уверен, нужно ли мне определять новый ресурс или существующийCustomerResource можно изменить, чтобы проверить наличие параметра.
Любое руководство приветствуется ...