如何重写pythonjsronrpc2应用程序使其能够作为wsgi应用程序运行

2024-05-15 12:19:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我在理解用pythonjsonrpc2编写的应用程序与wgsi应用程序之间的关系时遇到了一些问题。在

我在一个名为问候语.py在

这是一个简单的测试用例

def hello(name=None,greeting=None):
    # Print to stdout the greeting
    result =  "From jsonrpc you have: {greeting} , {name}".format(greeting=greeting,name=name)
    # print result
    # You can basically now return the string result
    return  result

Using the jsonrpc2 module我可以将json发送到此函数,然后该函数将返回一个json响应。在

示例帖子:

^{pr2}$

作为json返回的响应:

^{3}$

我使用jsonrpc2模块中定义的入口点启动服务器,该模块主要执行以下操作

from jsonrpc2 import JsonRpcApplication
from wsgiref.simple_server import make_server
app = JsonRpcApplication()
app.rpc.add_module("greeting")
httpd = make_server(host, port, app)
httpd.serve_forever()

目前,我可以将这个jsonrpc2服务器作为一个独立的“web应用程序”运行,并对其进行适当的测试。在

我想了解如何从这个简单的函数web应用程序变成一个wsgi web应用程序,它可以在不使用flask或django等web框架的情况下读写json(我知道一些)

我在寻找是否有一个简单的概念性步骤使我上面的函数与wsgi“callable”兼容:还是使用flask或django来读取/接收json“POST”并编写json响应。在


Tags: 模块the函数namenonewebjsonapp
1条回答
网友
1楼 · 发布于 2024-05-15 12:19:07

我不知道那个特定的模块,但看起来您的app对象是WSGI应用程序。您在该代码中所做的就是实例化应用程序,然后通过wsgiref为其创建一个服务器。因此,与其那样做,只需将真正的WSGI服务器-Apache/mod\WSGI或gunicorn或其他任何东西-指向该app对象,方法与为Flask或Django提供服务的方式完全相同。在

相关问题 更多 >