As a Go venture grows, protecting API conventions constant throughout providers can turn into surprisingly troublesome.
One service may use one error format, one other may deal with pagination otherwise, and a 3rd may expose barely completely different naming conventions.
I’m questioning how different Go groups deal with this type of API governance.
For instance, do you routinely verify issues like:
- OpenAPI validity
- Endpoint naming conventions
- HTTP standing code utilization
- Authentication necessities
- Required documentation
- Breaking API adjustments
- Constant error responses
- Deprecated endpoints
I’m particularly enthusiastic about automated checks that may run as a part of CI moderately than relying totally on code assessment.
For a workforce with a number of Go providers, I’m imagining one thing like:
OpenAPI → governance checks → assessments → assessment → deployment
Do you employ an present API governance instrument, OpenAPI linters, customized Go tooling, or GitHub Actions to implement these guidelines?
What checks have truly been helpful in your expertise, and which of them created an excessive amount of friction?
We use ConnectRPC and comply with googles AIP Objective and Pointers, we implement it through api-linter in CI and pre-commit hooks as a blocking verify
Here’s a detailed write up on this strategy: How I finished writing customized endpoints by Daniel Spangenberg

