web-dev-qa-db-ja.com

REST Jersey Webアプリケーションでセッションを作成、管理、関連付ける方法

HTML5 UIがバックエンドに接続されています(RESTジャージーからHibernateおよびDBへのビジネスロジック)。ユーザーがログアウトするまで、ユーザーログインごとにセッションを作成して維持する必要があります。

使用できるテクノロジーやAPIについて教えてください。 RESTクライアント側でも処理する必要がありますか?.

12
Harish

RESTful WebサービスにJAX-RSを使用するのはかなり簡単です。ここに基本があります。通常、次のように、REST操作 JAX-RSアノテーション を介して操作を定義する1つ以上のサービスクラス/インターフェースを定義します。

_@Path("/user")
public class UserService {
    // ...
}
_

これらのアノテーションを使用して、オブジェクトを自動的にメソッドに挿入できます。

_// Note: you could even inject this as a method parameter
@Context private HttpServletRequest request;

@POST
@Path("/authenticate")
public String authenticate(@FormParam("username") String username, 
        @FormParam("password") String password) {

    // Implementation of your authentication logic
    if (authenticate(username, password)) {
        request.getSession(true);
        // Set the session attributes as you wish
    }
}
_

HTTPセッション は、通常どおりgetSession()およびgetSession(boolean)を介して HTTP Request オブジェクトからアクセスできます。他の便利な注釈は、_@RequestParam_、_@CookieParam_、または_@MatrixParam_などです。

詳細については、 RESTEasyユーザーガイド または ジャージーユーザーガイド を参照してください。どちらも優れたリソースです。

21
xea