Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Further clarifying statement for api-name #298

Open
gmuratk opened this issue Sep 10, 2024 · 3 comments · May be fixed by #333
Open

Further clarifying statement for api-name #298

gmuratk opened this issue Sep 10, 2024 · 3 comments · May be fixed by #333
Assignees
Labels
documentation Improvements or additions to documentation Spring25

Comments

@gmuratk
Copy link
Collaborator

gmuratk commented Sep 10, 2024

Problem description

API Design Guidelines give a clear statement on api-name.
api-name is the API name specified as the base path, prior to the API version, in the servers[*].url property. For example, from /location-verification/v0, it would be location-verification.

However, since 'servers' field is an array of Server Object, there could be more than one servers[*].url property. An API provider may use different strings in each of the Server Objects resolving to different api-name.

Expected action

Update API Design Guideline to ensure same 'api-name' resolution even if there are multiple server objects defined.

Additional context

@gmuratk gmuratk added the documentation Improvements or additions to documentation label Sep 10, 2024
@hdamker
Copy link
Collaborator

hdamker commented Sep 10, 2024

@gmuratk My understanding of the design guideline is that the same string is used within the server object and scope names during the API design, both are fixed defined within the API definitions. E.g. the server object is defined as:

servers:
  - url: {apiRoot}/quality-on-demand/v2
    variables:
      apiRoot:
        default: http://localhost:9091
        description: API root, defined by the service provider, e.g. `api.example.com` or `api.example.com/somepath`

which means an API provider shall only differentiate the {apiRoot} but not the last part of the URL with API name and version.

@gmuratk
Copy link
Collaborator Author

gmuratk commented Sep 11, 2024

@hdamker I agree. The clarification I suggest is to remove any assumptions. This issue is raised based on a question we have received from a developer, and I pointed to the DG, with a similar description you provided.

However, I think just having a statement like the following can avoid questions:
If more than one server object instances are listed, each servers[*].url property must have the same string for the API name and version in respective instance

@jlurien
Copy link
Contributor

jlurien commented Sep 16, 2024

It makes sense if it helps for clarification

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation Spring25
Projects
None yet
4 participants