public void commitTable(Context ctx) {
    handleTable(
        ctx,
        handler -> {
          UpdateTableRequest request = bodyAsClass(ctx, UpdateTableRequest.class);
          TableOperations ops = handler.newTableOperator();
          TableMetadata base = ops.current();
          if (base == null) {
            throw new CommitFailedException("table metadata lost.");
          }

          TableMetadata.Builder builder = TableMetadata.buildFrom(base);
          request.requirements().forEach(r -> r.validate(base));
          request.updates().forEach(u -> u.applyTo(builder));
          TableMetadata newMetadata = builder.build();

          ops.commit(base, newMetadata);
          TableMetadata current = ops.current();
          return LoadTableResponse.builder().withTableMetadata(current).build();
        });
  }
POST PREFIX/v1/catalogs/{catalog}/namespaces/{namespace}/tables/{table}
amoro-ams/src/main/java/org/apache/amoro/server/RestCatalogService.java