WEB API風にHTTP使ってXMLをGET,POSTするプログラム
RESTfulなAPIというやつを作る。
HTTPで標準的に使えるメソッドであるGET, POSTを用いて、XMLのやり取りを行う。
実験用なので基本的なことしかしていない。
RESTful APIについては以下参照。
参考 : RESTful APIとは何なのか
https://qiita.com/NagaokaKenichi/items/0647c30ef596cedf4bf2
今回はAPIも自作するので、サーバー側でGET, POST要求を受けるAPIと、
クライアント側としてGET, POST要求をするコンソールアプリを作成する。
まずはサーバー側。
Visual Studioで新しいプロジェクトを開始し、
WEBフォームを作成する。
aspxファイルはほとんどいじらず、コードビハインドのaspx.csファイルに以下のように記述する。
GET要求に対してレスポンスしているxmlは以下
このプロジェクトをデバッグ実行すると、
こんな感じ。
このページでブラウザがしているHTTP要求を見ると(IEだと右クリの「検証」→Network→Headersで確認できる)、
Http RequestがGET要求をしているため、xmlを表示していることがわかる。
次にクライアント側。
Visual Studioで新しいプロジェクトを作成して、コンソールアプリケーションを作る。
まずはGET要求を投げるほう。
名前はtestGetClientとでもしよう。
ソースは以下。
localhostでデバッグ実行するときは、先に作成したサーバー側のアプリケーションをデバッグ実行しながら。
デバッグすると、コンソールにさっきのxmlが表示され、さらにローカルにそのxmlがシステム日時付の名前で保存される。
続いてPOST要求を投げるコンソールアプリケーションを作成する。
同じソリューション内に新しいプロジェクトでコンソールアプリを作り、以下のソースを記述する。
ここではクライアント側にあるxmlをストリーム読み込みしてPOSTしている。
デバッグすると、コンソールにはPOSTしたレスポンスとして、POSTしたxmlを表示し(若干ややこしい)、
同時にクライアント側にPOSTしたxmlをシステム日時付で保存する(サーバー側に保存するようにしたほうがわかりやすい?)。
ちなみにクライアントからPOSTしているxmlは以下
以上。
最近インディーズゲームにハマりつつある。
ABZUとかFIREWATCHとか。
Everybodys gone to the raptureも面白かったなあ。
ABZUは最近ゲームやっていてまじで声出るほど感動したのでまじでお勧め。
デカイ海洋生物だったり、深海なんかが好きな人には興奮するポイントがたくさんある。
しかも現存する生物だけだと思っていたら、終盤ではまさかの生物が出てきたりするので、ほんと、
ほんともう、やばい。
ストーリーとかはあってないようなものではあるんだけど、画面の美しさだけで泣けるくらいに綺麗なゲームだった。
という近況報告含めてひさびさの更新でした。