タグ

ブックマーク / momijiame.hatenadiary.org (3)

  • Jersey Test Framework を使って WebAPI の単体テストを書いてみる - あめだま

    フロントエンドHTML やアプリケーションと WebAPI を別々に開発すると、ビューとロジックをほぼ完全に分離できます。それぞれの責務が絞られるので、もともと不具合が生じにくいというのもありますが、何より WebAPI は単体テストが書きやすいという点で優れていると思います。 とはいえ、単体テストを実行する環境を整えるのは意外と面倒かもしれません。以前のエントリでも書きましたが、アプリケーションをデプロイしたサーバを立ち上げてテストを走らせてサーバを落とす、という一連の流れはなるべく簡単に実行したいものです。 もし WebAPI を Jersey (JAX-RS) で開発するのであれば、そうしたニーズに答えるためテスト用のフレームワークが用意されています。 テストする対象を用意する まずはテストする対象を作らないと始まりません。今回準備したリソースは以下です。 package tes

    Jersey Test Framework を使って WebAPI の単体テストを書いてみる - あめだま
  • Jersey (JAX-RS) のアクセス制御 - あめだま

    今回は Jersey (JAX-RS) で作った WebAPI でアクセス制御を行う方法について書きます。 JAX-RS は J2EE の仕様である以上、アクセス制御をロール単位で行う点に変わりはありません。とはいえ、アプローチの方法は複数あります。主に 3 つです。 1. web.xml (など) で設定する 2. アクセス制御用のフィルタを使う 3. SecurityContext を元に自分でロジックを書く 上記 3 つやり方についてサンプルを元に解説します。 サンプル まずは web.xml です。 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSc

    Jersey (JAX-RS) のアクセス制御 - あめだま
  • Google Guice で JPA のトランザクションを管理する - あめだま

    トランザクション管理って面倒ですよね。JPA を使うときを考えると、まず EntityManagerFactory を作って、EntityManager を取得して、EntityTransaction を取得して、開始して、コミットして、例外が上がったらロールバックして…。うーん、継承などで処理を親クラスにまとめるにしても、どうもイマイチな感じが拭えません。 EJB ならコンテナが管理してくれる?いや EJB はちょっと…。Spring の AOP はどうか?いや大量の XML に悩まされるのはちょっと…。そんな好き嫌いの激しいぼく的には、シンプルな DIコンテナ Google Guice の AOP を使ってトランザクション管理ができるとうれしいなー、と思いました。最初は自分でインターセプターを書こうと意気込んでいたんですが、何とモジュールが既にあったのでこれ幸いと使ってみました。 ソー

    Google Guice で JPA のトランザクションを管理する - あめだま
  • 1