用python构建api的简单方法
funcserver的Python项目详细描述
用Python构建api的简单方法
funcserver实现web可访问服务器托管的抽象 任何一种功能。这是建立在龙卷风核心和支持 使用基于web的python终端制作与服务器交互 调试维护方便此外,由 可以从Web界面中查看进程。
图像
安装
pip install funcserver
用法
基本示例
下面是实现最基本功能的代码 服务器。
fromfuncserverimportServerif__name__=='__main__':Server().start()
通过执行来运行它
python example.py run --debug
此服务器现在已启动并在默认端口9345上侦听 命令。您可以通过访问 http://localhost:9345/console
如果要在其他端口启动,请执行
python example.py run --port <port no>
在控制台中要做的事情
The Web UI console and logs are enabled only when the ^{tt1}$ option is provided.
# see the objects available in the console env>>>dir()# write a message to log (open the log tab in a new browser window# to see the logged message being echoed back). you can use the log# tab to observe all the logs being written by the application.>>>server.log.warning('something is happening')# set a different log level>>>server.log.setLevel(logging.DEBUG)# you can import any python module here>>>importdatetime
计算服务器(另一个示例)
您将在examples/calledcalc__server.py中找到一个示例脚本。
python examples/calc_server.py
要使用服务器的功能,请运行提供的示例客户机 在examples/目录中编写脚本
python examples/calc_client.py
使用pdb
进行调试当需要使用python调试器调试api代码时 可能必须从基于web的python控制台触发api函数。 但是由于funcserver的设计,pdb在 场景(作为python捕获输出的结果 FuncServer的解释部分)为了解决这个问题 已以可用的“调用”实用函数的形式提供 在python控制台名称空间中用法如下所示。
假设您在代码中设置了pdb跟踪,如下所示:
defsome_api_fn(self,a,b):importpdb;pdb.set_trace()c=a+breturnc
如果按如下方式调用此api函数,则调试将不起作用 并且api调用将从控制台阻塞
>>>api.some_api_fn(10,20)
相反,请执行以下操作:
>>>call(lambda:api.some_api_fn(10,20))
现在pdb控制台将出现在您启动 服务器