Flask-RESTful 为每个 HTTP 方法自定义路由

Flask-RESTful custom routes for each HTTP method

我有简单的资源 class,它定义了一些 API 方法:

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 方法创建不同的路由 class?

我想要这样API:

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

简短的回答是,你不应该。那根本不是 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()