【问题标题】:REST web service with Python using WSME使用 WSME 使用 Python 的 REST Web 服务
【发布时间】:2015-01-20 12:23:48
【问题描述】:

我正在尝试使用 WSME 在此处报告的技术创建一个简单的 REST Web 服务:

https://pypi.python.org/pypi/WSME

但是,目前尚不清楚如何进行。我已成功安装包 WSME.0.6.4 但我不明白如何继续。 在上面的链接中,我们可以看到一些 python 代码。如果我想测试代码我应该怎么做?我必须创建一个 .py 文件?这个文件应该保存在哪里?有服务要启动吗? 文档不清楚:它说“在您的应用程序的 / ws 路径上发布此文件”。什么应用?我需要安装 Web 服务器吗?

谢谢。

【问题讨论】:

  • REST API 适用于 HTTP 请求。 WSME 是一个库,用于在现有 Web 应用程序之上公开 Web 服务,而不仅仅是 REST。它希望您有一个 Web 应用程序,该应用程序运行在某种应用程序服务器之上。

标签: python web-services rest


【解决方案1】:

您可以使用成熟的 Web 服务器来运行您的应用程序。例如 Apache with mod_wsgiuWSGI ,但并不总是必要的。

您还应该选择web framework 来使用。
根据 WSME 文档,它支持开箱即用的 Flask 微框架,这很简单,可以从 .

要开始使用以下源代码创建文件:

from wsgiref.simple_server import make_server
from wsme import WSRoot, expose

class MyService(WSRoot):
    @expose(unicode, unicode)
    def hello(self, who=u'World'):
        return u"Hello {0} !".format(who)

ws = MyService(protocols=['restjson', 'restxml'])
application = ws.wsgiapp()
httpd = make_server('localhost', 8000, application)
httpd.serve_forever()

运行此文件并将您的网络浏览器指向http://127.0.0.1:8000/hello.xml?who=John
你应该得到<result>Hello John !</result> 的回应。

在本例中,我们使用了 python 的 built in webserver,当您需要快速测试某些内容时,这是一个不错的选择。

另外我建议阅读How python web frameworks and WSGI fit together

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-09
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 2017-11-06
    相关资源
    最近更新 更多