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

Proposal for more idiomatic REST API #17

Closed
caguado opened this issue Oct 2, 2023 · 1 comment · Fixed by #20
Closed

Proposal for more idiomatic REST API #17

caguado opened this issue Oct 2, 2023 · 1 comment · Fixed by #20

Comments

@caguado
Copy link
Collaborator

caguado commented Oct 2, 2023

Hi folks,

As we spoke at NANOG 88 about ramping up efforts and I proposed to heighten the API model using a more idiomatic approach to REST verbs, types, error handling, pagination, etc, I would like to come back now at it that I found some time to work on it.

I have re-modeled with a focus on adding resources, following REST conventions around the verbs, adding types for the resource representations. I'm also adding a general pagination mechanism so that we bound the latency of the API on potentially large payloads early on.

I helped myself with Smithy, Amazon's Interface Description Language, to do this semantic remodelling although is not required for clients or servers.

It may be a rather large pull request so I would like to gather your inputs on how you think about this whole exercise and whether I should create smaller PRs that stand by themselves by remain aligned to the leitmotiv of this effort, or you prefer a single-commit review.

My playground is in the orphan branch below:
https://github.com/caguado/autopeer-smithy/tree/feature/smithy-model

@grizz
Copy link
Member

grizz commented Oct 13, 2023

Thanks, will check it out ASAP.

caguado added a commit to bgp/draft-ietf-peering-api that referenced this issue Jan 25, 2024
This commit adapts the structures and wording around the changes made to
the reference OpenAPI spec from [1].

[1] bgp/autopeer#17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants