一个客户端暂时停顿。

restful-client-lite的Python项目详细描述


restful客户端精简版Build Status

一个用于restfulapi的lite客户端,功能有限。

它提供:

  • restful_client_lite.APIClient:令牌身份验证应用程序的客户端eve
  • restful_client_lite.contrib.AliyunApiGatewayClient:由aliyun DataService生成的api的客户端(仅支持GET

WIP(在v0.1.0之前不稳定)

安装

最新版本PyPI

管道编号:

pipenv install restful_client_lite

管道:

pip install restful_client_lite

偏差

管道编号:

pipenv install -e git+https://github.com/huandzh/restful-client-lite#egg=restful-client-lite

管道:

pip install -e git+https://github.com/huandzh/restful-client-lite#egg=restful-client-lite

用法

假设我们有一个restful api,它要求在头中有Authorization:<token>,并使用etag来控制写操作。

创建API客户端:

fromrestful_client_liteimportAPIClientapi=APIClient("<api_root>",{"token":"<token>"})

从url获取:

res_get=api.get("<url>")

发布到URL:

res_post=api.post("<url>",data={"<key>":"<value>"})

修补程序URL:

res_patch=api.patch("<url>","<etag>",data={"<key>":"<value>"})

修补程序URL(提前自动获取ETag):

res_patch=api.patch_auto_etag("<url>",data={"<key>":"<value>"})

删除网址:

res_delete=api.delete("<url>","<etag>")

删除url(提前自动获取etag):

res_delete=api.delete_auto_etag("<url>")

子类APIClient创建自定义api客户端:

defsign(url):"""some function return signature"""...return<signedurl>classCustomAPIClient(APIClient):"""custom api client"""defauth_headers(self,f:Callable)->Callable:"""custom auth headers"""@wraps(f)defwrapper(*args,**kwargs):headers=kwargs.get("headers",{}).copy()url=args[0]headers.update({"Signature":sign(url)})kwargs["headers"]=headersreturnf(*args,**kwargs)

第三方API

阿里云API网关

AliyunApiGatewayClient

  • 支持来自阿里云API网关API的GET(API可以由数据服务生成)
  • 处理授权标题
  • 排序url参数
fromrestful_client_lite.contrib.aliyunimportAliyunApiGatewayClientapi=AliyunApiGatewayClient('<api_root>',{"app_id":'<app_id>',"app_secret":'<app_secret>'})# make sure params in <url> are sortedres=api.get('<url>')

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中的开源字典组件   即使在成功执行删除查询之后,java更新的列表也不会显示在jsp页面中   java Apache:无法启动上下文路径/网站上的失败应用程序   java验证CSV中的特定列   对于具有专用内存的java应用程序,最小堆大小低于最大堆大小有意义吗?   java将数组中的值转换为多维数组   java在给定程序中,垃圾收集器在对象被取消引用之前正在运行。。。使用jre 7(32位)   java在运行时动态刷新文件夹   eclipse如何解决“java.net.BindException:地址已在使用:JVM_Bind”错误?   Java数组与数组   每次任务完成任务时,Java多线程都会安排任务   java部分编译时使用maven编织第三方jar   java Dokku单一回购中的多个应用程序   用apachevelocity生成javac/C++语言文件   java如何使用spring应用程序上下文中的属性文件实例化列表   java访问智能卡文件结构   具有GlobalMethodSecurity的java自定义UserDetailService循环引用   java如何集成Spring和JSF