skillup

技術ブログ

Java

JAXRSによるRESTAPI作成方法

投稿日:

業務でJavaによりWEBAPI(Rsetful API)を作成する機会ががあったのでちょっとメモしておきます。

RestAPIとは

近年、WEBサービスなどで使われているJavaのAPIは軽量さやシンプルさからRestに基づいて設計されたものが多くなってきています。

Restの特徴として、下記のようなものがあげられます。

  • URIによりリソースが特定される
  • HTTPメソッドを利用して、リソースを操作
  • クライアント、サーバー間はステートレス

リソース・・WEBからアクセスすることのできる1つ1つのファイル(ただのプログラムやテキストファイル)などのこと。

ステートレス・・1回きりの通信でそれまでの通信状態を保持しない状態のこと。対義語はステートフル(セッションに概念が近い)。

凄く単純に言ってしまうとあるURLをたたいた時に何らかのデータを返すサービスのことです。

またJavaにてRestfulAPIを作成する仕様のことをJAX-RSというようです。

プログラムの作成方法について

通常のAPIではデータベースにアクセスをして、その結果を返すということが一般的かと思います。

その場合の書き方です。

環境は
Windows8
Java7
Glassfish 4.1

です。

なお、一部のプログラムが前回の記事と同じです。

またアプリケーションサーバーを起動する場合下記のプログラムも必要になってきます。

上記のようなJavaのプログラムを作成し、

http://localhost:8080/プロジェクトファイル名/webresources/ping

と入力すると画面にJSON形式の配列が表示されます。

もちろんパラメータも渡せるようですが、次回以降書かせていただきます。

ちなみに「Javaエンジニア養成読本」を参考にしました。

 

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

String,Integer,Booleanの相互変換

データベースにはbooleanでデータが入っているのに画面では0か1の数字でないと表示ができないときなどがあると思います。 そんな時に文字列と論理値、あるいは文字列と数値、数値と論理値の変換などをする …

no image

フィールド以外のプロパティをエンティティに持たせる

JPAでは基本的に1テーブル、1クラスです。 このためプロパティは必然的にテーブルのフィールドに対応しています。 ただ、必ずしもプロパティだけでなく、臨時で持たせておきたい、プロパティがあったりします …

no image

スコープアノテーションとCDIについて

JavaEEで個人的に鬼門がCDIとスコープだと思っています。 ここが少しずつ分かりかけてきたんでメモします。 まずJavaEEでは変数の生存期間をアノテーションで定義します。 これがなかなか分かりに …

no image

配列からListへの変換

配列からListにしたいとき、ループでいちいち回さなくても下記の処理で一気にListに変換できます。

Netbeansに教えてもらいま …

no image

mavenのリモートリポジトリについて

JPAでO/Rマッパーに慣れてからというもの通常のSQLをごりごり書くのが億劫になってきました。 億劫というかいろいろとリスクがありますね。 問題点としてはコンパイルするときにエラーが検知できなかった …