ぺーぺーSEのブログ

備忘録・メモ用サイト。

REST

Swagger入門

Swaggerとは SwaggerとはREST APIを記述する標準仕様。 MS、Google、IBMなどがRESTful APIの記述標準化を目指す「Open API Initiative」を立ち上げ、Swaggerベースで活動している。 SwaggerはSwagger / OpenAPI Spec 2.0に準拠したJSON・YAMLで記述する。 以…

RESTful Web Service using SpringMVC事始め 〜bean定義ファイル編〜

RESTful Web Service using SpringMVC事始めでは「Java-Based Configuration」にしたが「XML-Based Configuration」バージョンにしてみる。Gradleベースでやる。環境は下記。 >gradle -v ------------------------------------------------------------ Grad…

Spring Data JPA入門

下記記事の延長。blog.pepese.comPersonリソースをCRUDできるRestサービスを構築する。 ■build.gradle apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'tomcat' [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' buildscript { r…

JPA2.1入門

JavaEE 7のJPA2.1をさわってみる。 事始めなので2.1新機能とかには全然ふれない。 用語とか Persistence Unit EntityManagerのインスタンスを生成するファクトリクラスを定義 EntityクラスのRDBにマッピングを設定する データベースへの接続用データソース設…

Restful設計まとめ

Restfulな設計を個人的にまとめる。 あくまで個人的なまとめで個人的にどこからでも参照できるようにここに張る。 正しいとか間違ってるとかどうでもいいし、参考にするしないは個人で判断して。 基本方針 Restful APIの設計は基本的に以下。 処理の内容 HTT…

JAX-RS RESTで使用するアノテーション

※間違って消しちゃったので日付が変わって復旧クラスに付与するアノテーション @Path リクエストで受け付けるURIを指定する。コンテキストパスからの続き。 例)「http://FQDN/ContextPath/hoge/foo/」の場合、「@Path("hoge")」と設定する。 @Encoded HTTP…

RESTful Web Service using SpringMVC入門

SpringMVC使ってRestサーバ作ってみる。 覚えたてのGradleベースでやる。tanakakns.hatenablog.com 環境は下記。 >gradle -v ------------------------------------------------------------ Gradle 2.1 --------------------------------------------------…

Jersey-Spring3でHello World

Jersey2.8とSpring3でサンプルアプリを作成してみる。 Jersey2.8はJavaEE7のJAX-RS2.0準拠。下記コマンドでプロジェクト作成。 mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=webapp-javaee7 -DarchetypeV…

Jacksonが/(スラッシュ)をエスケープしてくれない件

RFC的にはJSON中の文字列で「/」(スラッシュ)を返却する際にはエスケープ「\/」しないといけないけど、Jacksonはやってくれなかった。 実際にはjersey-json-1.17.1を使用しているときにはまった。 jersey-json-1.17.1を使用するとJSON-オブジェクト変換し…

JBossEAP6とJerseyの組合せでjar内のJAX-RSリソースが見えない件

そもそもなんでJBossにJerseyなんだ?なんて聞かないで。大人の事情なんです。 問題 warファイルをJBossEAPにデプロイしたんだが、WEB-INF/lib配下のjarファイルに入ってるエンティティプロバイダクラス(@Providerついてるクラス)が有効になんねぇ。。。 T…

Spring 3でHello World REST (Jersey)+HTTPメソッドの独自定義

Spring3+Jerseyにて独自のHTTPメソッドを追加してみる。 下記のコマンドを実行。(Maven 3を使用) mvn archetype:generate -DgroupId=study -DartifactId=Spring3HelloWorldJersey -DarchetypeArtifactId=maven-archetype-webapp -Dversion=1.0.0 pom.xml…

Jersey、JSONでボディマッピングの実装

MessageBodyReaderとMessageBodyWriterを用いてボディをオブジェクトに変換するエンティティプロバイダを作成する。 MessageBodyReaderはリクエストを受信した際ボディをJavaオブジェクトへ変換するロジックを、 MessageBodyWriterはレスポンスを返却する際J…

Spring 3でHello World REST (Jersey) +JSON

Spring 3、Jersey、JSONを連携して実行してみる。 まずはHelloWorldを出力するプロジェクトの作成。 下記のコマンドを実行。(Maven 3を使用) # 2013/08/22に更新 mvn archetype:generate -DgroupId=org.sample -DartifactId=Spring3HelloWorldJerseyJSON -…

RESTクライアントツール

RESTクライアント専用ではないが、RESTクライアントツールとして使用できるものも含む。 SOAP UI http://www.soapui.org/ JMetter http://jmeter.apache.org/ RESTClient, a debugger for RESTful web services Firefoxのアドオン https://addons.mozilla.or…

Spring 2.5でHello World REST (Jersey) +JSON

Spring 2.5、Jersey、JSONを連携して実行してみる。 まずはHelloWorldを出力するプロジェクトの作成。 下記のコマンドを実行。(Maven 3を使用) mvn archetype:generate -DgroupId=study -DartifactId=Spring25HelloWorldJerseyJSON -DarchetypeArtifactId=…

Spring 2.5でHello World REST (Jersey)

Spring 2.5とJerseyを連携して実行してみる。 まずはHelloWorldを出力するプロジェクトの作成。 下記のコマンドを実行。(Maven 3を使用) mvn archetype:generate -DgroupId=study -DartifactId=Spring25HelloWorldJersey -DarchetypeArtifactId=maven-arch…

Spring 3でHello World REST (Jersey)

Spring 3とJerseyを連携して実行してみる。 まずはHelloWorldを出力するプロジェクトの作成。 下記のコマンドを実行。(Maven 3を使用) mvn archetype:generate -DgroupId=study -DartifactId=Spring3HelloWorldJersey -DarchetypeArtifactId=maven-archety…

Jersey、JSONでHello World

Mavenでサンプルプロジェクトを作成する。 mvn archetype:generate -DgroupId=org.sample -DartifactId=JerseyHelloWorld -Dversion=1.0.0 -DarchetypeArtifactId=maven-archetype-webappPOMを下記のように作成。

JerseyでHello World

Mavenでサンプルプロジェクトを作成する。 mvn archetype:generate -DgroupId=jp.sample -DartifactId=JerseyHelloWorld -Dversion=1.0.0 -DarchetypeArtifactId=maven-archetype-webappPOMを下記のように作成。