A repo storing assets related to webinar demonstrating a collaborative API design and delivery journey using SwaggerHub, ReadyAPI, and PactFlow
In this guide, you'll learn how to use the SmartBear API Platform, to add improve confidence and add visibility to your design first API development workflow.
SmartBear's API Platform tools can be combined to increase the quality of your design-first API development workflow, and help navigate the complexity of microservices rollout.
SwaggerHub is foundation of a repeatable process for API Development, providing a secure collaborative environment for your API design process:
- It unifies teams around a single source of truth - the OAS - and enables standardisation across your services
- Allows teams to work independently
- Unlocks automation such as code-generation and mock services
PactFlow brings increased visibility into how consumers use your API, enabling:
- API consumer and API producer development teams to work in independently and safely
- Prevent breaking changes to your API and releasing an incompatible API consumer
- A reduction in the need for API versioning, avoiding the need to create and maintain multiple versions of an API, and communicating the change to consumers.
Together, they allow faster feedback cycles from design through to development, test and release.
To use this feature, you will need:
- A PactFlow account (create a free account).
- A SwaggerHub account (create a free account).
- For the SwaggerHub/PactFlow integration, you will need a team /enterprise account, to create private API's, or you can use the integration for the first 14 day trial of enterprise.
- A ReadyAPI account (create a free 14 day trial account).
Our company SmartBearCoin is expanding to offer services across the wider European region and thus our Payments Domain (business capability) are extending our payment processing sub-capability to cater for cross border payments.
The Business Requirements
The Payments capability has requested the following from Customer Management capability:
The ability to be able to retrieve customer information to help them have up-to-date and accurate payee information at the point to issuing a cross border payment. It was also mentioned was the need to obtain payment transaction summary information for payees but the ask was not very clear 😕
- Establish the business requirements and set the scene
- Enforce API design standards to meet regulatory requirements
- Use SwaggerHub to unlock the advantages of the design-first approach for APIs
- Use ReadyAPI for integrated API testing (functional/security/perf)
- Use ReadyAPI setup rich API virtualization
- Use PactFlow Implement bi-directional API contract testing
- Leverage API definitions and artifacts for DevOps automation
- Run through provider and client deployments with quality-gated CI/CD flows
- Demonstrate how we can safely catch breaking changes
-
FrontEnd
- Team: Financial Payments Team
- Tech: React / TypeScript
- Deployment: GitHub Actions / Netlify
- Tools Used:
- SwaggerHub
- Pact
- PactFlow
-
BackEnd
- Team: Customer Management Team
- Tech: .NET Core 6 / Azure Functions
- Deployment: GitHub Actions / Azure
- Tools Used:
- SwaggerHub
- ReadyAPI
- PactFlow
- Create your API definition in SwaggerHub
- Enable AutoMocking to ensure you have a VirtServer available for users to explore, prior to development work beginning.
- Utilise Domains to utilise libraries of common components used across your business
- Invite your team members to collaborate on your API
- Collaborate via comments
- Import OpenAPI from SwaggerHub to ReadyAPI
- Create ReadyAPI Functional Tests in the newly created Project
- Test ReadyAPI tests against VirtServer locally in ReadyAPI
- Test ReadyAPI tests against VirtServer locally with test runner GUI
- Test ReadyAPI tests against VirtServer locally with test runner docker image
- Test ReadyAPI tests against VirtServer in CI
- Upload to Provider Contract to PactFlow
See provider_azure_function/README.md
See smartbearcoin-payments-ui/README.md
You can utilise SwaggerHub Explore to see how an API behaves in the real world, whether the API is deployed to an environment, or running locally on your machine. It's free to sign in with your SwaggerHub account.
- Visit https://explore.swaggerhub.com/
- Copy the following URL and paste it into the address bar
https://sbdevrel-fua-smartbearcoin-prd1.azurewebsites.net/api/payees?country_of_registration=IE&jurisdiction_identifier=06488522&jurisdiction_identifier_type=chamber-of-commerce-number
- Press
Send - Congrats 🎉 you just send your first request in Explore.
- Visit https://explore.swaggerhub.com/
- Click on the network connection icon
- Select Local connection
- Download the relevant explore local execution agent for your platform (Windows/Linux/MacOS)
- Run the local execution agent
- Run the provider code as described above in the
Coding & Deployment - Providerso that your API is locally running - Use
cURLand check you can call the API correctlycurl http://localhost:7071/api/payees?country_of_registration=IE&jurisdiction_identifier=06488522&jurisdiction_identifier_type=chamber-of-commerce-number
- Copy the following URL and paste it into the address bar
http://localhost:7071/api/payees?country_of_registration=IE&jurisdiction_identifier=06488522&jurisdiction_identifier_type=chamber-of-commerce-number
- Press
Send - Congrats 🎉 you just send your first request to a locally running service with Explore.




