DropwizardとかSpringBootとかのEoD系WebAPPフレームワークの一つで、非常に簡単。
http://sparkjava.com/

import static spark.Spark.*;

public class HelloWorld {
    public static void main(String[] args) {
        get("/hello", (req, res) -> "Hello World");
    }
}

短いのはどうでも良い。実用時には処理を全部mainにラムダ式で書く訳はないのだ。が、これだけ見ればほぼ書き方の想像がついてしまう上にそれは大体あってる素晴らしいHelloWorldだ。ちなみに本当にこれだけで動く。
アノテーションが無いのが実に良い。Java言語の知識だけで書けるからな。
先日、別のVMにオフロードしたJMSサーバに何故かSSH転送で接続できない問題解決のため、HTTPを通せばよかろうとSpark FrameworkでトンネルアプリというかRESTというかいや厳密にはRESTではなくただPOSTされたbodyを自ホスト上のJMS鯖に投げる代物もすぐできた。
https://twitter.com/nekora2199/status/911462562704777217
アノテーションを覚えなくて済んだからだ。
画面遷移のあるWebAppには機能不足だが、REST API作るには大変良さげ。
後はクライアント認証をどうするかだな。