Java でシンプル RESTful サンプル

今風に Java でシンプルな RESTful を作成する方法を調べてみました。さしあたり Jersey を用いて確認しました。

jar ファイル類

以下の組み合わせで動作確認しました。

  • Java 1.8.0_102
  • jaxrs-ri-2.25.zip (api / lib / ext 全て必要)
  • jersey-container-jdk-http-2.25.jar (JdkHttpServerFactory のために必要)

シンプルソースコード

import java.net.URI;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriBuilder;
import org.glassfish.jersey.jdkhttp.JdkHttpServerFactory;
import org.glassfish.jersey.server.ResourceConfig;

public class Main {
	public static void main(final String[] args) {
		final URI uri = UriBuilder.fromUri("http://localhost/").port(8080).build();
		final ResourceConfig config = new ResourceConfig();
		config.register(Hello.class);

		JdkHttpServerFactory.createHttpServer(uri, config);

		for (;;) {
			System.out.print('.');
			try {
				Thread.sleep(10000);
			} catch (InterruptedException e) {
			}
		}
	}

	// http://localhost:8080/hello?name=Igaiga
	@Path("/")
	public static class Hello {
		@GET
		@Path("hello")
		@Produces(MediaType.TEXT_PLAIN)
		public String hello(@QueryParam("name") String name) {
			return "Hello '" + name + "' san.";
		}
	}
}

参考にした記事

超基本英語メモ「おねがい」

※このページの最新版はこちらになります。
英語ネイティブの人に習った超基本英語のうち、ここでは「おねがい」をメモしておきます。

おねがいバリエーション

お願いにも色々表現があり、基本的にはワード数が増えるほど、あるいは主語が自分になるほど丁寧な表現とのことです。

  • Can I borrow your pen?
  • Could you lend me a pen?
  • Is it OK if I use your pen?
  • Do you mind if I use your pen?
  • Would it be OK if I use your pen?
  • Would you mind if I borrowed your pen?
  • Would you mind letting me use your pen?
  • I wonder if I could borrow your pen.
  • I was wondering if you’d mind lending me your pen.

※個人的には「I wonder if I could ...」が和風で慎ましやかな表現であるように想像しました。
※これ以外に「Would you please tell me ...」の表現を、私はよく利用するなぁ...
※動詞からいきなり始めるのは、すっごく親しい仲である場合を除き、軍隊の命令口調のように聞こえてしまうらしいです。

超基本英語メモ「はい・いいえ」

英語ネイティブの人に習った超基本英語のうち、ここでは「はい・いいえ」をメモしておきます。

強く同意した「はい」 / Agree (possibly)

  • Yes.
  • Sure.
  • That’s right.

※日本人が普段口にする「はい」とは異なる意味であると理解することが重要です。

分かった程度の「うん」 / Maybe agree, Maybe disagree

  • I see.
  • I understand.
  • I got it. (カジュアル)
  • I’ve got it. (カジュアル)

※こっちの方が日本人が普段口にする「はい」に相当します。

丁寧な「いいえ」/ offering a different opinion

  • Or we could …
  • That sounds interesting. But I think …
  • That’ not a bad idea. On the other hand, I feel ...
  • You may have a point. However, I think …

※この表現は、実質「No」なので、非英語ネイティブは正しくそうだと理解することが重要です。
※相手の意見に反論するときの丁寧な言い回しが上記。「No」とストレートに言うのは、超絶直球なことらしい。。。

気をつけようと思ったこと

  • 英語にも丁寧な表現が(当然)存在します。しかし日本の英語教育では、思ったほどこれをしっかりとは教育しないので私には身についておりません。これに注意が必要です。
  • 日本語の「はい」は I see や I understand であり、決して「Yes」ではありません。ところが日本語の英語教育で「はい -> Yes」と 間違った(?) 教育がなされています。英語でこれが すごく間違って伝えられるため、すごく危険です。

Java OLTU メモ

OAuth 2.0 の Java 用ライブラリについてのメモ。