跳转到主要内容

适用于TurboGears 1.x的多协议Web服务

项目描述

TurboGears免费为您提供带有JSON返回值的普通HTTP API。但这并不总是您想要的。有时,您不希望将所有数据都暴露给Web来渲染您的模板。也许您需要支持将函数名称作为POST的一部分的协议,例如SOAP或XML-RPC。

TGWebServices提供了一个非常简单的API来创建可通过SOAP、HTTP->XML和HTTP->JSON访问的Web服务。SOAP API会自动为您生成WSDL,甚至为静态类型语言(例如Java和C#)生成足够的信息,以便它们可以在端生成良好的客户端代码。

有多简单?

class Multiplier(WebServicesRoot):

    @wsexpose(int)
    @wsvalidate(int, int)
    def multiply(self, num1, num2):
        return num1 * num2

以这个为基础,SOAP客户端可以在/soap/api.wsdl找到WSDL文件,并向/soap/发送SOAP请求。向/multiply?num1=5&num2=20发送HTTP请求将返回一个包含100结果的XML文档。添加?tg_format=json(或HTTP Accept: text/javascript头),您将得到JSON响应。

这个优点是上面的代码看起来像一个“正常Python函数”,而且对Web服务一无所知。

更完整的文档可以在http://wiki.tgws.googlecode.com/hg/index.html找到。

功能

  • 暴露Web服务API的最简单方式

  • 支持SOAP、HTTP+XML、HTTP+JSON

  • 输出包装的文档/字面量SOAP,这是最广泛兼容的格式

  • 为静态类型语言提供足够的类型信息,以便生成方便使用的接口

  • 可以输出您自己的类的实例

  • 也可以接受您自己的类的实例作为输入

  • 与TurboGears 1.0和1.1兼容

  • MIT许可证允许无限制使用

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

TGWebServices-1.2.4.tar.gz (20.1 kB 查看散列)

上传

构建分发

TGWebServices-1.2.4-py2.6.egg (68.1 kB 查看散列)

上传

TGWebServices-1.2.4-py2.5.egg (68.2 kB 查看散列)

上传

由以下支持