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.
  • Method Details

    • getTableApis

      List<TableApisProviderInterface.TableApi> getTableApis(QInstance qInstance, String tableName)
      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