- 記事一覧/
Jerseyフレームワークの個人的メモ
·70 文字·1 分
Java
Jersey
WebFramework
Programing
目次
jerseyで使用されるアノテーション #
@GET
,@PUT
,@POST
@DELETE
,@HEAD
- 参考
- 上記のアノテーションを付けることでHTTPメソッドを指定できる
@Path
- 参考
- 上記のアノテーションを付けることでAPIのパスを指定できる
@Produces
- レスポンスのMIMEタイプを指定するのに使う
@BeanParam
- 参考
- 他の場所でクラスにまとめて定義したリクエストパラメータを注入するのに使用する
@Consumes
- 参考
- リクエストのMIMEタイプを指定するのに使う
@PathParam
- 参考
- パスパラメータを取得するのに使用する
@Provider
- @Providerアノテーションが付けられたクラスは、JAX-RS(Java API for RESTful Web Services)アプリケーションのコンポーネントとして認識される。
- Jerseyによって自動的に検出され、アプリケーションの実行時に適切なタイミングで利用されるらしい。
レスポンスについて #
- 参考
- Response型でメソッドを作ってreturnすればOK
- 例として200を返す時のコードは以下
public Response r() { return Response.status(Status.OK).build(); }
Jerseyにおけるレスポンスの返し方 #
- レスポンスとしてインスタンス化したクラスをそのままreturnする場合と、
javax.ws.rs.core.Response
を使ってレスポンスを返している所があり使い分けが分からなくなったのでここにメモしておく - インスタンス化したクラスをそのままreturnする方法は
@Produces({ MediaType.APPLICATION_JSON })
アノテーションを付けることにより、Jerseyが自動でJSONとしてシリアライズしてくれるのでそのままレスポンスとして返せる- この方法ではレスポンスをシンプルに作成できるが、レスポンスコードは必ず200が設定される
- そのため、200以外のレスポンスコードの設定したい場合はjavax.ws.rs.core.Responseを使用する必要がある
リクエストヘッダー等の取得 #
以下のコードのように@Context ContainerRequestContext contextと書くとリクエストヘッダー等の情報を取得できる
public Response instances(
@Context ContainerRequestContext context,
@Context HttpServletResponse response
) {}
Related
Let's Encrypt + Cloudflare(プロキシ有効)な環境で「リダイレクトが繰り返し行われました」のエラーが出る時の対処法
·36 文字·1 分
Network
サーバー
Cloudflare
Let's Encrypt
Cloud
Cloudflareの導入によって発生した「リダイレクトが繰り返し行われました」への対処法
ポート開放ができない環境でサーバを外部公開するための個人的ベストプラクティス
·329 文字·2 分
Network
サーバー
Cloudflare
ngrok
OS
今回は、ポート開放ができない環境でサーバを外部公開する方法を紹介したいと思います。
Bibtexの導入
·67 文字·1 分
LaTex
VSCode
拡張機能
Bibtex
Programing
この記事では、LaTexで参考文献を管理する上で便利なBibtexについて紹介します。