4个版本

0.1.3 2022年1月19日
0.1.2 2022年1月5日
0.1.1 2022年1月3日
0.1.0 2021年11月10日

#8 in #exchange-rate

MIT/Apache

33KB
740

abstractapi-rs

GitHub Workflow Status Crates.io docs.rs Codecov

Rust版本的Abstract HTTP API。

APIs

abstractapi-rs与Abstract提供的以下API的v1版本兼容:

用法

abstractapi添加到您的Cargo.toml的依赖项中

[dependencies]
abstractapi = "0.1.*"

入门

为了与API交互,您首先需要创建一个客户端(AbstractApi

let mut abstractapi = abstractapi::AbstractApi::default();

然后您应该设置一个特定于您想要使用的API的API密钥。以下是一个地理定位API的示例

abstractapi.set_api_key(abstractapi::ApiType::Geolocation, "<api_key>").unwrap();

请参阅ApiType枚举以获取当前支持的API。

下一步是调用您想要使用的API相关的函数

let geolocation: abstractapi::api::Geolocation = abstractapi.get_geolocation("172.217.19.142").unwrap();

函数参数和返回值(Struct)直接映射自官方API文档,因此您可能需要经常参考它以了解这些字段的含义。

提示

  • 您可以使用prelude模块进行全局导入常见类型。
  • 还有可用于创建带有API密钥的客户端的其他构造函数方法。(例如,new_with_api_keys

以下是一个展示电话验证API基本用法的完整示例

use abstractapi::prelude::*;

fn main() -> Result<(), AbstractApiError> {
    // Create a new Abstract API client for phone validation.
    let abstractapi = AbstractApi::new_with_api_key(
        ApiType::PhoneValidation,
        std::env::var("PHONE_VALIDATION_API_KEY").unwrap(),
    )?;

    // Get the phone number details.
    let phone_details: PhoneDetails = abstractapi.validate_phone("14152007986")?;

    // Print the result.
    println!("{:#?}", phone_details);

    Ok(())
}

示例

查看示例文件夹,了解库如何用于集成不同的API

贡献

欢迎提交拉取请求!

许可

所有代码都双许可,遵循MIT 许可证Apache 2.0 许可证

依赖关系

~5.5–7.5MB
~169K SLoC