タイトルのとおり、JAX-RSがわかりません。
仕事で使ったのですが、理解できず完全に雰囲気で使っています。自分の認識を確認するため、私の理解を以下に書きます。
- 概念としては他のアドレス空間のWebClient – WebService間でRESTで通信するための技術。偉大なる先人がJavaのライブラリが用意してくれている。
- JAX-RSを使用すると、通信するときのMediaTypeと受け取って使用するときのMediaTypeを指定することが出来る。例えば通信はJSONで、使うときには任意のJavaClassで。これはJAXBという技術を内部的に使用していて、通信するときにはデータ量を抑えて使用するときには人間が使いやすいMediaTypeにすることが出来る。
- 通信先と通信元でJavaClassを使用するときには同じJavaClassを持っていないと受け渡して変換することが出来ない。
- WebClient側はWebService側のIPやHOST名、Path(Methodにマッピングされている名)を指定することで、その場所にデータを送ることが出来る。
- WebService側は送り返す先を指定する必要は無くて、単純に返せばOK。このとき疑問なのがReturnで返せばいいのかということ。
そもそも私はRESTを理解しているのか、理解していないことがあるからJAX-RSも理解出来ないのでは?とも思うので次の記事で復習してみようと思います。
#REST APIの概要
## ★REST APIとは
>RESTful API(REST API)とは、Webシステムを外部から利用するためのプログラムの呼び出し規約(API)の種類の一つで、RESTと呼ばれる設計原則に従っ...
あと、Servletも雰囲気で使っているのでそこの理解が浅いこともJAX-RSを理解できていない原因かもしれない。このあたりは参考書を読んだことがないので、参考書を買ってざっくりと体系的に学んでからググった方がよく理解できそうかな。
ついでに面白そうな記事も見つけたので読んでまとめてみます。
RESTとは 続いて、RESTという考え方について見ていきましょう。RESTという言葉は、例えば「Amazonの商品情報取得APIであるECS(注2)では、SOAPとRESTのインターフェイスが用意されている」といった形で耳にした方も多いのではないでしょうか。この言い方を聞くと、RESTもSOAPと同じようなW...
SOAPの仕組み 続いてはSOAPを利用したWeb APIについて見ていくことにしましょう。SOAPはSimple Object Access Protocolの略で、XML-RPCと同じようにネットワーク越しにサービスを呼び出すためのデータのやり取りを決めた仕様です。ただしSOAPはXML-RPCと違って、や...
そもそもJAX-RSという言葉はどういう意味なのか。ググってみました。ウィキペディアによると、次の言葉の略称とあります。
Java API for RESTful Web Services
Xどっから来たんだよ!!とツッコミを入れつつウィキペディアの続きを読んでいくととても分かりやすい説明がありました。
「RESTアーキテクチャに基づくWebサービスのための機能を提供するJava言語のAPIである」
JAX-RS 出典: フリー百科事典『ウィキペディア(Wikipedia)』
わかりやすい!ということで引き続き、手を動かして調査していこうと思います。