diff --git a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/javalin/QJavalinApiHandler.java b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/javalin/QJavalinApiHandler.java index 0cb92760..dd2692bc 100644 --- a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/javalin/QJavalinApiHandler.java +++ b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/javalin/QJavalinApiHandler.java @@ -45,6 +45,7 @@ import com.kingsrook.qqq.api.model.actions.GenerateOpenApiSpecOutput; import com.kingsrook.qqq.api.model.metadata.APILogMetaDataProvider; import com.kingsrook.qqq.api.model.metadata.ApiInstanceMetaData; import com.kingsrook.qqq.api.model.metadata.ApiInstanceMetaDataContainer; +import com.kingsrook.qqq.api.model.metadata.ApiInstanceMetaDataProvider; import com.kingsrook.qqq.api.model.metadata.ApiOperation; import com.kingsrook.qqq.api.model.metadata.tables.ApiTableMetaData; import com.kingsrook.qqq.api.model.metadata.tables.ApiTableMetaDataContainer; @@ -166,6 +167,8 @@ public class QJavalinApiHandler ApiBuilder.get("/apis.json", QJavalinApiHandler::doGetApisJson); + // todo not this? ApiBuilder.get("/api/", QJavalinApiHandler::doListApis); + ApiInstanceMetaDataContainer apiInstanceMetaDataContainer = ApiInstanceMetaDataContainer.of(qInstance); for(Map.Entry entry : apiInstanceMetaDataContainer.getApis().entrySet()) { @@ -237,6 +240,32 @@ public class QJavalinApiHandler + /******************************************************************************* + ** + *******************************************************************************/ + private static void doListApis(Context context) + { + ApiInstanceMetaDataContainer apiInstanceMetaDataContainer = ApiInstanceMetaDataContainer.of(qInstance); + + StringBuilder html = new StringBuilder("

Select an API

\n"); + + context.header("Content-Type", ContentType.HTML); + context.result(html.toString()); + } + + + /******************************************************************************* ** *******************************************************************************/ @@ -601,6 +630,14 @@ public class QJavalinApiHandler html = html.replace("{title}", apiInstanceMetaData.getLabel() + " - " + version); + StringBuilder otherApisOptions = new StringBuilder(); + ApiInstanceMetaDataContainer apiInstanceMetaDataContainer = ApiInstanceMetaDataContainer.of(qInstance); + for(Map.Entry entry : apiInstanceMetaDataContainer.getApis().entrySet()) + { + otherApisOptions.append(""); + } + html = html.replace("{otherApisOptions}", otherApisOptions.toString()); + StringBuilder otherVersionOptions = new StringBuilder(); for(APIVersion supportedVersion : apiInstanceMetaData.getSupportedVersions()) { diff --git a/qqq-middleware-api/src/main/resources/rapidoc/rapidoc-container.html b/qqq-middleware-api/src/main/resources/rapidoc/rapidoc-container.html index 38c0b4c5..4930bbc7 100644 --- a/qqq-middleware-api/src/main/resources/rapidoc/rapidoc-container.html +++ b/qqq-middleware-api/src/main/resources/rapidoc/rapidoc-container.html @@ -49,7 +49,12 @@ > {navLogoImg}
- + + +