3

我有一个 REST API,比如:

http://localhost/api/v1/foo1
http://localhost/api/v1/foo2
http://localhost/api/v1/foo3

我想要一个看起来像的python客户端

api({some kinda init code})

result1 = api.get_foo1(params)
result2 = api.post_foo2(params)
result2 = api.post_foo2(params)

我真的很懒,我想知道是否有一些现有的 python 包可以为我生成这样的 API。

我已经在 SO 中进行了一些搜索,到目前为止我发现的最佳方法是使用 python-requests 包,并编写我自己的包装器来美化它。有什么更容易的吗?

4

1 回答 1

2

您可以尝试在 Google Code 上使用python-rest-client,您可以在其中进行如下所示的调用:

conn.request_get("/search", args={'q':'Test'}, headers={'Accept':'text/json'})

但是您可以很快看到,您仍然需要创建某种包装器来实现示例调用的简单性。

请记住,使用 REST,您无法预知服务调用将返回什么,因此您无法为 REST 提供一刀切的 API。最终,您需要将您的 http 调用包装成方便您需要的东西。

我建议您自己执行此操作 - 这将帮助您进行维护,因为您不会在客户端和 API 本身之间引入抽象层。

于 2012-07-14T17:46:51.657 回答