1. ホーム
  2. Java

RESTfulの導入とチュートリアルの活用

2022-02-23 23:46:34
<パス

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.