モジュール jdk.httpserver
パッケージ com.sun.net.httpserver

クラスHttpHandlers

java.lang.Object
com.sun.net.httpserver.HttpHandlers

public final class HttpHandlers extends Object
静的レスポンス・ハンドラなどの様々な有用なハンドラ、または1つのハンドラを別のハンドラに補完する条件ハンドラを実装するHttpHandlerの実装。

ファクトリ・メソッドof(int, Headers, String)は、事前に設定された静的レスポンス状態を持つハンドラを作成する手段を提供します。 たとえば、常に同じjsonを持つ200を返すjsonHandlerです:


    HttpHandlers.of(200,
                    Headers.of("Content-Type", "application/json"),
                    Files.readString(Path.of("some.json")));
 
または常に405で返信するnotAllowedHandler - メソッドは許可されず、許可されるメソッドのセットを示します:

    HttpHandlers.of(405, Headers.of("Allow", "GET"), "");
 

ハンドラの機能を拡張または拡張するには、handleOrElseを使用します。これにより、特定のハンドラを補完できます。 たとえば、jsonHandlernotAllowedHandlerで補完します:


    Predicate<Request> IS_GET = r -> r.getRequestMethod().equals("GET");
    var handler = HttpHandlers.handleOrElse(IS_GET, jsonHandler, notAllowedHandler);
 
前述のhandleOrElse handlerは、if-elseのような構造を提供します。リクエスト・メソッドが"GET"の場合、交換の処理はjsonHandlerに委任され、それ以外の場合は交換の処理はnotAllowedHandlerに委任されます。

導入されたバージョン:
18