Interface TableApisProviderInterface
- All Known Implementing Classes:
ModelApiTableApisProvider
public interface TableApisProviderInterface
Lists the application (model) APIs that expose a table, for
GET /qqq/v1/table/{tableName}/apis (TableApisSpecV1).
Implementations are found with java.util.ServiceLoader (list the class in
META-INF/services/com.kingsrook.qqq.middleware.javalin.specs.v1.TableApisProviderInterface),
so a module that serves APIs (qqq-middleware-api) contributes by being on
the classpath. An implementation returns an empty list when the instance
has none of its APIs.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordOne API that exposes the table.static final recordOne version of an API. -
Method Summary
Modifier and TypeMethodDescriptiongetTableApis(QInstance qInstance, String tableName) The APIs in this instance that expose the table (which exists, and which the caller may read).getTableSpecJson(QInstance qInstance, String apiName, String version, String tableName) The table's OpenAPI document (JSON) in one version of one of this provider's APIs - empty when the provider does not serve that API, or the API does not expose the table in that version.
-
Method Details
-
getTableApis
The APIs in this instance that expose the table (which exists, and which the caller may read). -
getTableSpecJson
default Optional<String> getTableSpecJson(QInstance qInstance, String apiName, String version, String tableName) throws Exception The table's OpenAPI document (JSON) in one version of one of this provider's APIs - empty when the provider does not serve that API, or the API does not expose the table in that version. Serves GET /qqq/v1/table/{tableName}/apis/{apiName}/{version}/openapi.- Throws:
Exception
-