Spring Framework第10講-RESTful API
5816 ワード
学習内容
学習目標
RESTful Webサービス概要
Open API(アプリケーションプログラミングインターフェース)とは?
Open APIはその名の通りオープンAPIである.
これはAPIがアプリケーション開発時に使用されるインタフェースであることを意味するため、Open APIとはプログラミングで使用可能なオープンインタフェースを指す.
RESTfulとは?
HTTP URI+HTTP Method
HTTP URIによって制御されるリソースを指定し、HTTPメソッドによってリソースを制御するコマンドを発行するアーキテクチャ.
上の表は、各メソッドの役割を示しています.
通常、各CRUDにマッピングする方法は4つあります.
このように実施すると,「RESTful」といえる.
RESTful APIとは?
RESTful APIは、HTTPとURIに基づいてリソースにアクセスできるアプリケーション開発インタフェースである(REST原理のシステムをRESTfulと呼ぶ)
RESTful APIに書き込まれていない場合は、URLに動作(コマンド)が書き込まれます.regist,remove,modifyはこのように...
これはいいことじゃないけど...ただし、RESTful APIに書き込む場合は、URLには何の動作も書かれておらず、特定のデータを指定する必要がある場合にのみデータが宣言および終了する.
JSONとXML
RESTful WebサービスとJSON/XML
サーバとのデータ交換はJSONまたはXML形式で行います.
中でもJSONの方が使用率が高いです.
JSON(Javascript Object Notation)
- http://www.json.org
JSONはデータ式です.
JSONのフォーマット
{
"firstName":"Stieve",
"lastName":"Jobs",
"email":"[email protected]",
"hobby":["puzzles", "swimming"]
}```
タイルにすることもできます.JavaはArrayListやHashともよく互換性があります.JSONライブラリ-Jackson
WebからJSONデータを受信すると、JavaからJavaオブジェクトとしてデータを受信し、データベースに保存することもできます.
Spring MVCベースのRESTful Webサービス実装プロセス
RESTful API設計事例
ユーザ管理RESTful WebサービスURIと方法
主なコメント
RESTful Controlのキーテクノロジー
RESTful Controlのキーテクノロジー
実習
RESTfulベースのサービスオブジェクトを開発し,これらのオブジェクトを利用しようとする.
1.文章検索機能
掲示板の記事検索機能を実施します.
↑特定の記事を表示する機能なのでGET方式(@GetMapping)の記事番号をパラメータとします.
↑関数の内容は,サービスオブジェクトを呼び出すことにより文章データを返す.
↑返された記事オブジェクトは@ResponseBodyによって自動的にJSONに変換されます.
↑コントローラ呼び出しのViewArticleDetail()を定義します.
↑DAOオブジェクトを介して記事データを受信して返します.
↑実際にはDBバインドで記事データを受信する必要があるがバインドできないため、Artcicleオブジェクトがランダムに作成されて返されます.
↑コードが完成したらPOMJacksonライブラリをxmlに追加します.
↑左のディレクトリを見ると、Jacksonライブラリがローカルに追加されていることがわかります.
↑Postmanテストに合格.GET方式でURLに文章番号を付けてテストします.
↑JSONファイルに返信が来ました.
↑HeaderならContent-TypeにJSONと書いてあります
これはサーバがJSONを送信したことを意味する.実は私たちはViewDetail()を通じてJavaオブジェクトを送信し、Jacksonライブラリは自動的にJSONファイルに変換します.
↑クロムも結果を確認できます.
2.文章を書くスキル
↑書き込み機能はPOST方式(@PostMapping)を使用し、JSONでデータを受信した場合は@ReqeustBodyで自動的にオブジェクトに変換します.
↑元ならサービスオブジェクト->DAOオブジェクト->DB保存も完了しなければなりませんが、スキップしたデータをそのまま返します.
↑Postmanでリクエストを送信します.
↑Controllerが返すオブジェクトはJSPファイルではないため、結果としてJSONファイルも出力されます.
Reference
この問題について(Spring Framework第10講-RESTful API), 我々は、より多くの情報をここで見つけました
https://velog.io/@se_bb/Spring-Framework-10강-RESTful-API
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(Spring Framework第10講-RESTful API), 我々は、より多くの情報をここで見つけました https://velog.io/@se_bb/Spring-Framework-10강-RESTful-APIテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol