简单的json-rpc 2.0 python编译器中间件,使用decorators。只需几行代码,就可以运行jsonrpc 2.0编译器web api,满足您的需要!

simplejsonrpc的Python项目详细描述


Build Status

简单的JSON-RPC 2.0 python编译器中间件,使用decorators。 只需几行代码,就可以得到jsonrpc 2.0编译器web api 跑步,为你的需要做好准备

用法

只需创建一个服务类来存储API调用并装饰 方法:

fromsimplejsonrpcimport*loginservice=SimpleJSONRPCService(api_version=1)@jsonremote(loginservice,name='login',doc='Method used to log a user in')deflogin(request,user_name,user_pass):(...)

更复杂的例子将其嵌入到[web.py!]

importweburls=('/','index','/api/','json_handler','/api','json_handler')app=web.application(urls,globals())api_service=SimpleJSONRPCService(api_version=1)classindex:defGET(self,name):ifnotname:name='World'return'Hello, '+name+'!'classjson_handler:defPOST(self):returnapi_service(web.webapi.data())@jsonremote(api_service,doc='print api documentation')defapi(request):returnapi_service.api()@jsonremote(api_service,doc='ping server')defping(request):return"pong"if__name__=="__main__":app.run()

在前面的示例中添加API版本控制

importweburls=('/','index','/api/1/','json_handler_v1','/api/1','json_handler_v1','/api/2/','json_handler_v2','/api/2','json_handler_v2')app=web.application(urls,globals())api_service_v1=SimpleJSONRPCService(api_version=1)api_service_v2=SimpleJSONRPCService(api_version=2)classindex:defGET(self,name):ifnotname:name='World'return'Hello, '+name+'!'classjson_handler_v1:defPOST(self):returnapi_service_v1(web.webapi.data())classjson_handler_v1:defPOST(self):returnapi_service_v2(web.webapi.data())@jsonremote(api_service_v1,doc='print api documentation')defapi(request):returnapi_service_v1.api()@jsonremote(api_service_v1,doc='ping server')defping(request):return"pong"@jsonremote(api_service_v2,name='api',doc='print api documentation')defapi_v2(request):returnapi_service_v2.api()@jsonremote(api_service_v2,name='ping',doc='ping server')defping_v2(request):return"pong"if__name__=="__main__":app.run()

许可证

麻省理工学院许可证(MIT)

版权所有(c)2014-2016 Moritz Wundke

兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许接受软件的人员 在满足以下条件的情况下,可以这样做:

上述版权公告及本许可公告须包括在 软件的拷贝或大部分。

本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与本软件有关,或使用或与本软件的其他交易有关。 软件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么只为字符数组重载println方法,而不为字符串、整数等其他数组重载?   java将快速线程返回到池中,而不是等待慢速线程   创建jar文件时java SwingWorker不工作   java如何将依赖注入RabbitListener   java如何在gradle任务中通过scp复制目录?   java在MySql数据库中创建表时,遇到NullPointerException   java HTTP Status 500 Servlet执行引发异常   在JAVA中对arraylist使用继承时出错   java PowerMockito未完成存根异常   如果没有错误/警告增加到某个极限,java是否停止在eclipse中构建项目或使用maven?   java Robolectric如何测试DateFormat。getBestDateTimePattern()   google云平台GCP数据存储Java API,构建一个空值实体   VerifyListener和FocusListener之间的java冲突   安卓是否可以在Java中的另一个方法内部强制调用一个方法?   JavaWindows7、JDK1.8、SpringBoot应用程序JAR在方法安全性方面占用了大量时间。getProviders()返回   Bean提供程序的java错误消息   java Slick动画每帧必须有一个持续时间   java无法在Trie中设置isLeaf标志   java为什么JVM不能创建包含main方法的类的对象,以便从该类访问main方法,如果它具有该类的名称?   java Apache Camel+CXF端点身份验证