Skip to content

API Clients go #12

@kevinwoolfolk97

Description

@kevinwoolfolk97

Overview:

Is your feature request related to a problem? Please describe.
Currently, interacting with our service's API requires manually crafting HTTP requests, which is error-prone and inefficient. This process lacks standardization and makes it difficult for new developers to onboard. Additionally, there's no easy way to test the API endpoints or generate client libraries for different programming languages, which limits our API's accessibility and usability.

Describe the solution you'd like
The solution involves creating a standardized, easy-to-use API client that can be easily integrated into various development environments. This process includes creating a Postman collection for the API, converting that collection into an OpenAPI specification, and then using AutoRest to generate an API client specifically for Go. Additionally, we want to implement custom functions such as uploadCard(frontImage, backImage) and checkEligibility(card_id) to enhance the Go API client's functionality.

Goal:

To streamline the development process, improve API testing capabilities, and enhance accessibility for developers by providing them with a robust, auto-generated API client in Go. This should significantly reduce the time and effort required to integrate with our API and improve the overall developer experience.

Tasks

  • Create a comprehensive Postman collection covering all existing API endpoints.
  • Convert the Postman collection into an OpenAPI specification.
  • Use AutoRest to generate an API client specifically for Go, ensuring compatibility and ease of use.
  • Implement custom functions within the Go client, specifically uploadCard(frontImage, backImage) and checkEligibility(card_id), to meet specific use cases not covered by standard CRUD operations.
  • Document the process and usage of the Go API client, including examples for the custom functions.

Acceptance Criteria

  • Api client for Go

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions