基本的なRESTful APIを構築する



This post was first posted on my blog
こんにちは.このポストでは、フラスコフレームワークで基本的なRESTful APIを構築することについて話します.始める前に、フラスコRESTfulライブラリをインストールします.この例では、データベースを使用しません.しかし、あなた自身を使用することができます.私はちょうどフラスコを使用してREST APIを作成する方法を示します.

基本的なRESTful APIの構築


我々はPostmanまたは要求に類似したソフトウェアを必要とする可能性があります.VirtualEnvを使用して開発環境を使用します.それでは、フラスコのRESTfulライブラリをインストールしましょう.
virtualenv .

. bin/activate
VirtualEnvをアクティブにしました.フラスコ安置図書館を設置しましょう.
pip install flask-restful
さて、我々はフラスコRESTfulライブラリをインストールしました.メインという名前のファイルを作成する必要があります.Pyその名前は何でもありえます.我々は最初にフラスコとそのflasktle restfulライブラリをインポートします.
from flask import Flask
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)
その後、簡単なクラスを作ります.次のようになります.
class Quotes(Resource):
    def get(self):
        return {
            'ataturk': {
                'quote': ['Yurtta sulh, cihanda sulh.', 
                    'Egemenlik verilmez, alınır.', 
                    'Hayatta en hakiki mürşit ilimdir.']
            },
            'linus': {
                'quote': ['Talk is cheap. Show me the code.']
            }

        }
この例では、静的データを使用しました.私はあなた自身のデータベースを使用できると述べた.現在、このクラスをAPIライブラリラッパーへのリソースとして追加する必要があります.
api.add_resource(Quotes, '/')
最後に、このコードは次のようになります.
# -*- coding: utf-8 -*-

from flask import Flask
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)

class Quotes(Resource):
    def get(self):
        return {
            'ataturk': {
                'quote': ['Yurtta sulh, cihanda sulh.', 
                    'Egemenlik verilmez, alınır.', 
                    'Hayatta en hakiki mürşit ilimdir.']
            },
            'linus': {
                'quote': ['Talk is cheap. Show me the code.']
            }

        }


api.add_resource(Quotes, '/')

if __name__ == '__main__':
    app.run(debug=True)
上記のコードでは、get get get http get requestメソッドを作成しました.私たちは郵便屋さんでやった

実装されていないHTTPリクエストを試してみると、次のような警告メッセージが表示されます.
{
    "message": "The method is not allowed for the requested URL."
}

ポストメソッド


たとえば、このクラスのPOSTリクエストで動作します.POSTという名前のメソッドを作成する必要があります.ポストPOSTメソッドを作成しましょう.まず、reqparseをインポートする必要があります.したがって、インポート文は以下のように変更されます.
from flask import Flask
from flask_restful import Resource, Api, reqparse

app = Flask(__name__)
api = Api(app)

parser = reqparse.RequestParser()
その後、POSTメソッドは次のようになります.
def post(self):
        parser.add_argument('quote', type=str)
        args = parser.parse_args()

        return {
            'status': True,
            'quote': '{} added. Good'.format(args['quote'])
        }
郵便ポストを使って簡単なHTTP POSTリクエストを試みましょう.

プットメソッド


つのputメソッドを作成してリソースを更新しましょう.putメソッドは次のようになります.
def put(self, id):
        parser.add_argument('quote', type=str)
        args = parser.parse_args()

        return {
            'id': id,
            'status': True,
            'quote': 'The quote numbered {} was updated.'.format(id)
        }
その後、このようなリソースを変更する必要があります.
api.add_resource(Quotes, '/', '/update/<int:id>')
郵便配達人のおかげでHTTP PUTリクエストを作成しました.

putとpostについて尋ねたい場合は、linkを確認できます.削除方法を作成できます.この投稿では、私は作成しないとHTTP削除メソッド.このlinkのおかげで、あなたはフラスコRESTfulについてより多くの詳細にアクセスすることができます.
このポストでは、我々はフラスコで基本的なRESTful APIを構築することについて話しました.私はこのポストは、偉大なRESTful APIを設計するのに役立ちます願っています.
お読みありがとうございます.