RESTfulの導入とチュートリアルの活用
I.RESTの原点
<ブロッククオート2000年に提唱されたREST(Representational State Transfer)表現状態遷移は、HTTP、URI、XML、JSONなどの標準やプロトコルに基づき、軽量でクロスプラットフォーム、クロスランゲージのアーキテクチャ設計をサポートします。Webサービスのための新しいアーキテクチャスタイル(考え方)である。
1. 軽量化とは
コードが押し付けがましくない(肯定的な例。SpringMVCはインターフェースや継承を使わず、アノテーションのみで行う。ネガティブな例:StrutsのActionは全てコアコントローラを継承している)、軽量化はパッケージサイズとは関係ない。カップリングが低ければ低いほど、より軽量である。
II.RESTアーキテクチャの主要原則
-
ウェブ上のすべてのリソースに対して、リソース識別子を持つこと。
-
リソースに対する操作によって識別子が変更されることはない。
-
同一リソースの複数表現(xml, json)
-
すべての操作はステートレス(Stateless)
上記のRESTの原則に準拠したアーキテクチャアプローチをRESTfulと呼びます。
1. URIとURLの区別。
<ブロッククオートURI:http://example.com/users/
<ブロッククオートURL: http://example.com/users/{user} (各ユーザーに1つずつ)
2. 無国籍とは。
<ブロッククオートクライアント側とサーバー側が互いの情報を保存する必要がない。サーバーは現在のリクエストだけを処理すればよく、リクエストの履歴を知る必要はない。リソースの解放が容易になり、サーバーがPool(コネクションプーリング)技術を使用して安定性とパフォーマンスを向上させることができるようになります。
III.RESTfulの紹介
<ブロッククオートRESTfulは、一般的なRESTアプリケーション、RESTスタイルに則ったWebサービス、RESTスタイルのWebサービスはROA(Resource Oriented Architecture)である。
1. RESTfulなリソース操作
<テーブル httpメソッド リソース操作 べき乗 セキュリティ GET セレクト はい はい POST INSERT NO いいえ プット アップデイト はい いいえ DELETE 削除 はい いいえ<ブロッククオートIdempotency:同じRESTインターフェースに複数回アクセスすると、同じリソースの状態が得られる。
安全です。このRESTインターフェースへのアクセスは、サーバー側リソースの状態を変更させるものではありません。
2. インターフェース例です。
2.1. 従来のURLリクエスト形式。
http://127.0.0.1/user/query/1 GET ユーザーIDに基づいたユーザーデータのクエリ
http://127.0.0.1/user/save POST add user
http://127.0.0.1/user/update POST ユーザー情報の修正
http://127.0.0.1/user/delete GET/POST ユーザー情報の削除
2.2. RESTfulなリクエスト形式。
http://127.0.0.1/user/1 GET ユーザーIDに基づいたユーザーデータのクエリ
http://127.0.0.1/user POST 新しいユーザーを追加する
http://127.0.0.1/user PUT ユーザー情報の変更
http://127.0.0.1/user DELETE ユーザー情報を削除する
3. レスポンシブデザイン
原則 データはすぐに使える状態で受け取り、箱から出す必要はありません。
ヘッダーは、X-Result-Fields など、リクエストまたはリクエストを記述するメタデータを保持します。
4. httpレスポンスステータスコード
httpレスポンスコードからリクエストのステータスを判断し、アラートを出す。
IV. RESTfulの利用
RESTfulを使って追加、削除、チェックの操作を実際のコードで行う例です。
1.クエリ取得。
クエリーのテスト
2. 新しい投稿
新しいテストを追加しました。
AJAXの呼び出し。
3. putを更新します。
サービスは
更新テストです。
デフォルトでは、PUTリクエストはフォームデータを送信できないので、Spring MVCプロジェクトでweb.xmlに以下のフィルタを追加して解決する必要があります。
4. delete delete.
Delete test.
V. Concluding remarks
At this point, the introduction and use of RESTful is complete. RESTful has become a mainstream paradigm in the interface definitions of various Internet companies. RESTful reduces the traditional request unboxing operations, has a clear structure, and is favored by front- and back-end developers in the interface definitions.
4. delete delete.
関連
-
mvn' は、内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
undefined[sonar] sonar:デフォルトのスキャンルール
-
プロジェクトの依存関係を解決できない。
-
ajax コミット リソースの読み込みに失敗しました: サーバーはステータス 400 で応答しました ()
-
JAVA_HOME環境変数が正しく定義されていない問題を解決する
-
無効なメソッド宣言
-
-bash: java: コマンドが見つからない 解決方法
-
keytool error: java.io.FileNotFoundException: cacerts (アクセス拒否されました。)
-
アノテーション「@Retention」の役割
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
NullPointerException - java.lang.
-
Eclipse の問題 アクセス制限。タイプ 'jfxrt' はAPI解決されていません。
-
executeQuery()でデータ操作文が発行できない。解決方法
-
Javaでよくある構文エラー
-
Java の switch case 文で必要な定数式の問題の解決法
-
ApplicationContextの起動エラーです。条件レポートを表示するには、アプリケーションを'de'で再実行します。
-
java send https request prompt java.security.cert.について。
-
Java基礎編 - オブジェクト指向
-
春ブート複数のデータソースの管理(atomikos)同じサーバーホスト上の複数のプロジェクトを開始する複数のJava - jarのエラーソリューション
-
Java:未解決コンパイル問題の解決方法