FlaskでRESTfulAPIを作ってみた
pythonでRESTfulAPIを簡単に書けないかなと思ったら、flaskでもできそうということで試してみた。
Flask-RESTful — Flask-RESTful 0.2.1 documentation
javascriptからajaxを使うにあたって、クロスドメイン制約が邪魔になる時もあると思いますが、CORSの設定もできるみたいです。
例えば、monaca(以下参照)を使ってアプリを作る時とかに使えそうですね。
というわけで、CORSを適用したRESTfulAPIをつくってみました。
#!/usr/bin/env python # coding: utf-8 from flask import Flask, request, jsonify from flask_restful import Resource, Api from flask_restful.utils import cors # 初期設定 app = Flask(__name__) api = Api(app) class Count(Resource): cache = 0 # GET時の挙動の設定 @cors.crossdomain(origin='*') def get(self): Count.cache = Count.cache + 1 send_msg = jsonify(num=Count.cache) return send_msg api.add_resource(Count, '/count/') if __name__ == '__main__': app.run()
挙動としては count/ にアクセスするとバッファのカウンタを1足して返す挙動をとります。
で、APIにアクセスする方をjsfiddleで書いてみました。
挙動がおかしいですが、基本カチカチボタンを押すとカウンターに値が加算されます。