2015-04-29 4 views
1

У меня есть простой класс ресурсов, который определяет некоторые методы API:Колбы-RESTful пользовательских маршрутов для каждого метода HTTP

class RoomAPI(Resource): 
    def get(self): 
     # some code 

    def post(self): 
     # some code 

    def put(self): 
     # some code 

Тогда я определить свои маршруты, как это:

api.add_resource(RoomAPI,'/api/rooms/') 

Итак, мой вопрос : как я могу сделать разные маршруты для каждого метода HTTP, используя только один класс ресурсов?

Я хочу получить такой API:

GET /api/rooms/get/ 
POST /api/rooms/create/ 
PUT /api/rooms/update/ 

ответ

3

Короткий ответ, вы не должны. Это не RESTful.

Однако, если вы действительно хотите, я думаю, что вы могли бы сделать это следующим образом:

api.add_resource(RoomAPI,'/api/rooms/get', methods=['GET']) 
api.add_resource(RoomAPI,'/api/rooms/create', methods=['PUT']) 
api.add_resource(RoomAPI,'/api/rooms/update', methods=['POST']) 

С неиспользованного **kwargs от add_resource получить передается add_url_rule().

+0

Спасибо! Оно работает. – asnelzin