安らかはAPI仕様設計がこのように均一かつ効率的な相互作用の前端と後端こと、ウェブ開発を分離フロントの後端にデータ伝送のためのインタフェースを標準化されています。
RESTfulな核となるアイデアは、クライアントのデータ操作命令が「動詞+オブジェクト」構造を発行していることです。たとえば、GET /articles
このコマンドはGET
動詞である/articles
オブジェクト(複数形)です。通常、単一のオペランドのデータ指定された操作ID(PK)の場合。GET /articles/?pk=1
HTTP動詞の方法は、通常CRUD操作(要求に対応する直接塗布方式)に対応する5種類であります
- GET:読み取り(リード)
- POST:新しい(作成)
- PUT:更新(アップデート)
- PATCH:アップデート(更新)、通常、部分更新
- DELETE:删除(Delete)
リクエストメソッドを指定し、PUT:GETとPOSTの場合のみ送信するクライアントは、X-HTTP-法-オーバーライドを使用することができます
Djangoは安らかに使用しました
インストールモジュール:ピップはdjangorestframeworkをインストール
設定および使用:
設定中:INSTALL_APPS = [...、 'rest_framework']
コアdjangorestframeworkがシリアライズされます。
Serializers.pyファイルはアプリ、内部モデルとパターンのシーケンスを記述する必要に作成されます。
。1 2 rest_frameworkからインポートシリアライザ 3。 app01.modelsからインポート * 4。 5つの。#は、手順のシーケンスを定義する 6。 クラス UserInfoSerializer(serializers.ModelSerializer): 7。 '' '' 'フィールドとモデルの必要な順序を指定する' 8。 クラスメタ- : 9。 モデルデータベーステーブル名=ブック# 10 フィールド=「__all__」#すべてのフィールドが必要とされています
views.pyアプリケーションクラスと継承rest_frameworkパッケージを見ます
1 rest_framework.viewsetsからインポート ModelViewSet 2 app01.serializersからインポート * 3。 4。 クラス UserInfoView(ModelViewSet) 。5 クエリセットBook.objects.all =()#は、クエリ結果セットを取得する 6。 serializer_class = UserInfoSerializerはシリアライザ#を指定 7
urls.py rest_frameworkルーティングはdefaultrouterに設定された経路に指定することができます
1 rest_framework.routersからインポート defaultrouterに 2ルータで定義されたプロセスの#図 3ルータdefaultrouterに=() 。4ルータ。レジスタ( 'ユーザー'、views.UserInfoView、BASE_NAME = '')ビューセット#ルータに登録する 。5 。6 urlpatterns = [ 7 。8 ] 。9 10 urlpatternsのrouter.urls + = 11 12であります ------------------------------------- ---------------------------- 13#プライマリルーティング 14 パス( 'API /'は、((router.urls、「APP_NAME ')、名前空間='インスタンス名" ))、