0

路由地址设计为

api.add_resource(App.AppAPI, '/app', '/app/<int:app_id>')

类设计为

test_data=[
    {'id':'1','name':'我是一个app'},
    {'id':'2','name':'我是一个app'},
    {'id':'3','name':'我是一个app'}
]
class AppAPI(Resource):
    def get(self,app_id):
        return app_id

    def get(self):
        return test_data

使用postman测试,http://localhost:5000/app可以返回结果,但是http://localhost:5000/app/1却报错,TypeError: get() got an unexpected keyword argument 'app_id'

看了别人的博客,也没有解决办法。

已解决,问题应该是同一个class里不应该出现两个get方法,自己对restful开发还欠了解。

2个回答

0

hi,spiritoair,

this is a sample example code which can help you, refers to 'http://docs.jinkan.org/docs/f...'

# encoding: utf-8
# -*- coding: utf8 -*-
from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'


@app.route('/app/<int:post_id>')
def restful_api(post_id):
    test_data = [
        {'id': '1', 'name': u'我是一个app'},
        {'id': '2', 'name': u'我是一个app'},
        {'id': '3', 'name': u'我是一个app'}
    ]
    try:
        return str(test_data[post_id])
    except Exception:
        return "Not found"


if __name__ == '__main__':
    app.run()
0

已解决,问题应该是同一个class里不应该出现两个get方法,自己对restful开发还欠了解。

撰写答案