HTTP-запросы Backbone.js PUT завершаются с ошибкой 404 при отправке в приложение Pyramid/Cornice
Я использую Pyramid с Cornice, чтобы создать API-интерфейс для приложения Backbone.js. Мой текущий код отлично работает для GET
а также POST
запросы, но он возвращает 404 ошибки, когда он получает PUT
Запросы. Я считаю, что это потому, что Backbone отправляет их как http://example.com/api/clients/ID
, где ID
номер идентификатора рассматриваемого объекта.
Мой код установки карниза:
clients = Service(name='clients', path='/api/clients', description="Clients")
@clients.get()
def get_clients(request):
...
@clients.post()
def create_client(request):
...
@clients.put()
def update_client(request):
...
Кажется, что карниз только регистрирует путь /api/clients
и не /api/clients/{id}
, Как я могу сделать так, чтобы они соответствовали обоим?
1 ответ
В документации приведен пример службы, которая имеет индивидуальный путь (/users/{id}
) и путь к объекту (/users
). Будет ли это работать для вас?
@resource(collection_path='/users', path='/users/{id}')
Быстрый взгляд на код для resource
декоратор показывает, что он в основном создает два Service
: один для объекта и один для коллекции. Ваша проблема, вероятно, может быть решена путем добавления другого Service
:
client = Service(name='client', path='/api/clients/{id}', description="Client")