ホームページ  >  記事  >  バックエンド開発  >  Restful ルーティング - Flask API の例

Restful ルーティング - Flask API の例

WBOY
WBOYオリジナル
2024-08-23 06:02:31465ブラウズ

Restful Routing - A Flask API Example

Restful ルーティングは、すべての異なるアプリケーションで一貫したルーティングを実現するための推進手段です。 REST は Representational State Transfer です。 HTTP は、一貫性があり、人間が判読できる、機械が判読できる方法で使用されます。

標準は GET、POST、PATCH、PUT、DELETE です。

以下に、フロントとの間で情報を取得/提供し、必要なアクションを実行するための、flask API データベース内のいくつかの RESTful ルートの例を示します。

Flask を使用したサーバー側のユーザーの GET の例は、以下のコードを使用しています。

まず、これらのアイテムもインポートする必要があります。 db インポートは、後で DELETE の例で使用します。

from flask import request (*Used for POST and PATCH*)
from config import db, api, app 

from flask_restful import Resource
from models.user import User

インポートが機能するには、構成ファイルを以下のように設定する必要があります。

 db = SQLAlchemy(app=app, metadata=metadata)
 api = Api(app=app)

ユーザー ルートの GET コード:

 class UsersResource(Resource):
     def get(self):
        users = [user.to_dict() for user in User.query.all()]
        return users, 200

 api.add_resource(UsersResource, "/api/users", endpoint="users")

このコードを分解するには。

Users リソースのクラスを作成し、そのリソースを引数として指定する必要があります。

次にget用の関数を作成します。この関数は User テーブルにクエリを実行し、すべてのユーザーのリストを作成して転送用の辞書に変換し、Web ページ上で JSON として表示できるようにします。次に、リストと、リクエストが成功したことを示すステータス コード 200 を返します。

最後に、リソースを作成する必要があります。使用しているリソース、パス、エンドポイントに名前を付けます。 /api はパスの前に追加され、ホスティング Web サイトがフロントエンド ルートとバックエンド ルートを識別できるようにします。

DELETE の場合は、単一ユーザーの削除用に別のリソースを作成する必要があります。以下のコードを参照してください:

 class UserResource(Resource):
     def delete(self, id):
         user= User.query.get(id)
         db.session.delete(user)
         db.session.commit()
         return {}, 204

 api.add_resource(UserResource, "/api/user/<int:id>", 
 endpoint="user")

取得とは異なる削除で何が起こっているのかをさらに説明すると、いくつかの点があります。最初は 1 人のユーザーを削除するだけなので、新しいリソースを作成する必要があります。同様に設定されていますが、複数ではありません。

次に、削除関数を作成します。削除するユーザーを決定するためにフロントエンドから送信された ID を渡す必要があるため、2 つの引数が必要になります。次に、db session delete と commit を使用してデータベースを更新します。その後、返送するものは何もないため空の応答を返し、削除のステータス (204) を返します。

最後にリソースを作成する必要があります。今回はUserResourceを使用します。パスは単数であること、フロントエンドに渡された ID を持つこと、およびエンドポイントも単数であることとは異なります。

RESTful ルーティングにより、異なるアプリケーション間で切り替えるときに、誰もがバックエンド ルーティングに従うことができ、標準化されたパスを知ることができる標準が存在します。さらに、パスがすっきりして読みやすくなります。

以上がRestful ルーティング - Flask API の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。