Improve HVR REST API Error for Invalid Table Parameter
Request
We would like to request an improvement to the error message returned by the HVR REST API when an invalid value is provided for the {table} path parameter.
Problem
When we call the HVR REST API using a schema-qualified source table name, for example:
/api/.../channels/db2_sf_cev/tables/SCHEMA.TABLE_NAME/cols
the API returns the following error:
F_JG0565: Path component {table} [SCHEMA.TABLE_NAME] did not match prototype '<ident>'
While the error indicates that the supplied value is invalid, it is not clear to us as customers what format is actually expected.
Why This Is Confusing
There is a distinction between the HVR table name and the source database object name.
For example:
- HVR table name: table_name
- Source database object: SCHEMA.TABLE_NAME
The {table} parameter expects the HVR table name, but the current error message does not make this clear.
As a result, it is difficult for customers and API integrators to understand:
- What <ident> means.
- Why SCHEMA.TABLE_NAME is not accepted.
- Whether the schema-qualified name is supported.
- What value should be supplied instead.
In this example, the correct value would be the HVR table name, such as:
table_name
Requested Enhancement
We would like the REST API validation error to provide more actionable information when the {table} parameter is invalid.
Ideally, the error should explain that:
- {table} expects the HVR table name / channel table identifier.
- A schema-qualified source database name such as SCHEMA.TABLE_NAME is not valid for this parameter.
- An example of a valid value is table_name.
Suggested Error Message
Instead of:
Path component {table} [SCHEMA.TABLE_NAME] did not match prototype '<ident>'
we suggest something along the lines of:
Invalid value for path parameter {table}: expected an HVR table name identifier, such as 'table_name'. Schema-qualified database names such as 'SCHEMA.TABLE_NAME' are not valid for this parameter.
Documentation Improvement
It would also be helpful if the REST API documentation for:
/definition/channels/{channel}/tables/{table}
clearly stated that {table} refers to the HVR table name / channel table identifier, rather than the source database base_name.
This would make the API easier to use and reduce confusion for customers and integrators working with the HVR REST API.
Please sign in to leave a comment.
Comments
0 comments