Class QJavalinApiHandler

java.lang.Object
com.kingsrook.qqq.api.javalin.QJavalinApiHandler

public class QJavalinApiHandler extends Object
methods for handling qqq API requests in javalin.
  • Constructor Details

    • QJavalinApiHandler

      public QJavalinApiHandler(QInstance qInstance)
      Constructor
  • Method Details

    • setupSession

      public static void setupSession(io.javalin.http.Context context, AbstractActionInput input, String version, ApiInstanceMetaData apiInstanceMetaData) throws QModuleDispatchException, QAuthenticationException
      Setup session for API requests using scoped authentication resolution.

      Resolves the appropriate authentication provider based on the API metadata, then creates a session using that provider. Falls back to instance default if no API-specific provider is registered.

      Parameters:
      context - The Javalin context
      input - The action input (may be null)
      version - The API version
      apiInstanceMetaData - The API instance metadata (may be null)
      Throws:
      QModuleDispatchException - If module dispatch fails
      QAuthenticationException - If authentication fails
    • newAPILog

      public static APILog newAPILog(io.javalin.http.Context context)
    • storeApiLog

      public static void storeApiLog(APILog apiLog)
    • handleException

      public static void handleException(io.javalin.http.Context context, Exception e, APILog apiLog)
    • handleException

      public static void handleException(io.javalin.http.Context context, Exception e)
    • handleException

      public static void handleException(org.eclipse.jetty.http.HttpStatus.Code statusCode, io.javalin.http.Context context, Exception e, APILog apiLog)
    • respondWithError

      public static void respondWithError(io.javalin.http.Context context, org.eclipse.jetty.http.HttpStatus.Code statusCode, String errorMessage, APILog apiLog)
    • getRoutes

      public io.javalin.apibuilder.EndpointGroup getRoutes()
      Define the routes