Evaluating SwaggerHub. Basic Questions
We have seen the demo (video), but I still have some questions about SwaggerHub that other users might have the answer for:
- Does SwaggerHub have any data catalog built-in? The goal here is to detect new fields being introduced when creating new or changing existing APIs. The developer creating the API would get a list highlighting the fields that don't yet exist in the DATA CATALOG. For example, the developer chooses person-code, and SwaggerHub lists this field as a new one, and then the user can go through the data catalog and find the person-id and a description for this field. This data catalog feature would reduce the chance of APIs using different names for the same semantic field.
- Can SwaggerHub support different standards for different sets of APIs? For example, let's say SYSTEM APIs (not exposed to the internet) and BUSINESS APIs (exposed to the internet)?
- Is it possible to automate as much as 60% of the API validation with SwaggerHub? We are a growing company, and it's getting harder to ensure that so many APIs, coming from different teams, are well designed and CONSISTENT across the company.
- Does SwaggerHub support any other API type? Like GraphQL or GRPC?
Any help would be much appreciated.
Re: Evaluating SwaggerHub. Basic Questions
1. SwaggerHub does not have an in-built data dictionary or ontology model. However, we do have the concept of Domains. Domains are shared code libraries that contain standard OAS components like schemas, responses, headers, parameters, etc. Creating a Domains with the Customer schema in it and then enforcing all APIs requiring the customer to consume it from the Domain using $ref tags will enable all APIs to use the correct and current Customer definition. Domains, like APIs can be versioned in SwaggerHub.
Using an open source tool called openapi-diff will allow you to see the differences between any 2 resolved APIs. So if API version 1 uses domain 1 and API version 2 uses domain 2 - you would see any changes AND any breaking changes between them.
2. In SwaggerHub On-premise, there is support for multiple organizations under the "company" level. Each organization can have it's own set of Standardization Rules. Organizations can also contain "local" domains AND have access to "globally shared" domains across organization.
3. By combining Domains, API Templates and Custom Rules you should be able to enforce a significant part of your Standards & Governance model.
4. As of today, only Restful OAS APIs can be designed in SwaggerHub. But keep watching this space.... asyncAPI is the next protocol to come.... next year hopefully.