生成Python函数以封装REST API

4

I have a REST API, say:

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包,并编写自己的包装器来使其更美观。有更简单的方法吗?


你试过 Flask 吗?它几乎是最小化的。 - Guy Adini
Flask是一个服务器框架对吧?我已经搭建好并运行了服务器端,现在正试图构建一个用于测试的客户端。 - dragonx
哦,抱歉,我看错了……我以为你在尝试设置API。 - Guy Adini
1个回答

2
您可以尝试使用位于Google Code上的python-rest-client,在那里您将会发起类似下面这样的调用:
conn.request_get("/search", args={'q':'Test'}, headers={'Accept':'text/json'})

但是,很明显你仍然需要创建某种包装器来实现你的示例调用的简单性。请记住,在REST中,你不知道服务调用会返回什么,所以对于REST,你不能有一个一刀切的API。最终,你需要将http调用封装成对你自己方便的东西。我建议你自己做这个 - 这将有助于你的维护,因为你不会在你的客户端和API本身之间引入抽象层。

谢谢,这是一个替代Requests的选择。不完全是我想要的答案,我会再给一些时间等待其他答案出现后再接受。 - dragonx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接