构建私有API以连接移动应用程序?

时间:2015-08-22 22:39:04

标签: python django rest amazon-web-services django-rest-framework

我正在尝试构建一个私有API来连接到我的移动应用。一个用法是使用字符串参数进行调用,让api通过几个nlp python脚本运行字符串,然后返回一些json。什么是api服务和资源的好地方?

到目前为止,我已经听说过我可以使用Django Rest Framework,但我想确保向具有更多经验的人提问。还有什么是举办它的最佳地点,包括脚本(我使用namecheap托管,亚马逊s3等)

1 个答案:

答案 0 :(得分:2)

你的问题非常含糊,而且细节很短......说烧瓶可能最容易起床和运行

import flask,json
from flask import request

app = flask.Flask(__name__)

def validate_headers_if_needed():
    print request.headers

def process_get_or_post_arguments():
    return dict(post = request.form.to_dict(),
                get = request.args.to_dict(),
                headers_auth=request.headers.get("X-Authorization","None"))

@app.route("/api/v0/do_something",methods=['GET', 'POST'])
def do_something():
    validate_headers_if_needed()
    result = process_get_or_post_arguments()
    return json.dumps(result)

if __name__ == "__main__":
    app.run(port=8787,debug=True)

# curl --header "X-Authorization: MySecretToken" --data "test1=55&test2=hello%20world%test3=1" http://127.0.0.1:8787/api/v0/do_something?get_data=yellow

当它选择一个主机的时候你应该选择一个满足你需求的我喜欢dreamhost很多...但是我最近使用了数字海洋并且很成功...你也可以在本地linux上运行它(或者windows box)并使用类似noip.com的东西将域名指向你的盒子