guibranco / holiday-api-rust

:calendar: :gear: Holiday API Rust SDK (API Client)
https://guibranco.github.io/holiday-api-rust/
MIT License
3 stars 1 forks source link

[FEATURE] Rewrite client with updated dependencies #22

Open guibranco opened 1 year ago

guibranco commented 1 year ago

Description:

We need to rewrite the existing REST API client library written in Rust to improve its performance, maintainability, and usability. The new implementation should leverage modern Rust libraries and best practices to ensure robustness and efficiency in API interactions.

Objectives:

  1. Evaluate Existing Code:

    • Review the current implementation of the API client library available at POC-rust-apiclient and apiclient-boilerplate-rs.
    • Identify areas for improvement, such as code structure, error handling, and API request/response management.
  2. Utilize Best Practices:

  3. Choose a Suitable HTTP Client:

    • Select an appropriate HTTP client library for Rust, such as reqwest, ensuring it meets the project's performance and usability requirements.
  4. Implement Features:

    • Implement essential features such as:
      • Making GET, POST, PUT, DELETE requests.
      • Handling JSON serialization/deserialization.
      • Managing errors effectively.
      • Supporting async operations for better performance.
  5. Testing:

    • Write unit and integration tests to validate the functionality of the new client.
    • Consider using WireMock or similar tools for mocking API responses during testing.
  6. Documentation:

    • Update the README and provide clear documentation on how to use the new API client library, including code examples.

Acceptance Criteria:

gitauto-ai[bot] commented 3 months ago

@guibranco Pull request completed! Check it out here https://github.com/guibranco/holiday-api-rust/pull/43 🚀

Note: I automatically create a pull request for an unassigned and open issue in order from oldest to newest once a day at 00:00 UTC, as long as you have remaining automation usage. Should you have any questions or wish to change settings or limits, please feel free to contact info@gitauto.ai or invite us to Slack Connect.