Flask仅为GET方法添加资源端点

时间:2018-02-01 14:38:00

标签: python post get flask-restful

如果Resource方法被触发,我如何让GET将子域作为参数传递?

localhost:5009/my_url/9952其中get方法应根据id做一些事情(在本例中为9952) 和localhost:5009/my_url其中post不需要任何ID,但它接受json。 目前我有以下代码

app = Flask(name)
app.url_map.strict_slashes = False
api = Api(app)
api.add_resource(MyResourceClass, '/my_url/<int:item_id>', endpoint='item_id')

view.py

class MyResourceClass(Resource):

    def get(self, item_id=None):
        if not item_id:
            # item ID was not provided over get method
            return 404
        # Do stuff
        return 200

    def post(self):
        ## Should accept JSON
        ## Does some stuff based on request

    def delete(self):
        ## Deletes the item information
        return 200

显然,它需要item_id才能显示在URL中,否则请求返回404错误。如何仅item_id方法才需要GET

1 个答案:

答案 0 :(得分:0)

我想通了

app = Flask(name)
app.url_map.strict_slashes = False
api = Api(app)
api.add_resource(MyResourceClass, '/my_url/', '/my_url/<int:item_id>', endpoint='item_id')
无论网址中的GET定义如何,

现在POSTitem_id都会触发,view.py中的所有方法都必须进行调整,以处理item_id的情况没有提供