apache / apache/gravitino

[FEATURE] A new unified api for all the entity list operations

Open
#3,485 1 comment 0 reactions 0 assignees View on GitHub
feature
Dominant language
Java
Stars
3.2k
Forks
935
Avg merge
1d 15h
Merged PRs (30d)
315

Description

### Describe the feature

We need a new unified api and name filter support for all the entity list operations.
The filter operation is above the tree UI, whatever filter catalog, schema or table name.
eg: A new unified api like: `api/v1/metadata ` get datas by `queryType` filter:

- list catalogs

```
curl 'https://xxxxx/api/v1/metadata' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: zh-CN,zh;q=0.9' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Type: application/json' \
--data-raw '{"queryType":"CATALOGS"}'
```
image

- list schemas

curl 'https://xxxx/api/v1/metadata' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: zh-CN,zh;q=0.9' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Type: application/json' \
-H 'Pragma: no-cache' \
--data-raw '{"queryType":"SCHEMAS","catalogIdentifier":{"catalogName":"catalog_hive"}}'
image

### Motivation

_No response_

### Describe the solution

_No response_

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the proposed api/v1/metadata entry point and the example CATALOGS and SCHEMAS requests in the issue. Map the remaining entity list operations and name-filter requirements before defining the unified API contract. Done means the supported list operations and filters are consistently available through the new API.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.