1

我正在使用 Flask-Restless、Flask-SQLAlchemy 和 SQLite3 构建 Web 服务 API。我有一个名为 Place 的课程,它也是一张包含我所在城市周围不同地点的表格。据我了解,我应该能够在端点发布新数据,如下所示:

http://localhost:5000/webservices/api/place

当我在浏览器中导航到该 url 时,我还应该能够看到该表中所有内容的 json 响应。这仅在部分时间有效......有时我能够看到 json 响应,而其他时候我收到 404 url​​ not found 错误。我不断刷新页面,最终 json 响应回来了。我仍然无法在没有 404(或偶尔 500?)的情况下发布 api 端点......我做错了什么吗?

我是这样发布的:

>>> import json  
>>> import requests  .
>>> newplace = {'name': u'Carls Jr.', 'address': '123 Main Street'}
>>> r = requests.post('http://localhost:5000/webservices/api/place', data=json.dumps(newplace),
...                   headers={'content-type': 'application/json'})
>>> r.status_code, r.headers['content-type']
(404, 'text/html')

这是我的代码:

import flask
import flask.ext.sqlalchemy
import flask.ext.restless

# Create the Flask application and the Flask-SQLAlchemy object.
app = flask.Flask(__name__)
app.config['DEBUG'] = True
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = flask.ext.sqlalchemy.SQLAlchemy(app)

#place 
class Place(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.Unicode, unique=True)
    address = db.Column(db.Unicode)


# Create the database tables.
db.create_all()

# Create the Flask-Restless API manager.
manager = flask.ext.restless.APIManager(app, flask_sqlalchemy_db=db)

manager.create_api(Place, methods=['GET', 'POST', 'DELETE'])

# start the flask loop
if __name__ == '__main__':
    app.run()
4

0 回答 0