starlete资源,帮助您遵循分层体系结构。

starlette-resource的Python项目详细描述


星状资源

Build Status

Starlette帮助您遵循分层体系结构的资源。在

这个模块的目的是促进分层体系结构的实现。 Resource和{}类本质上与Starlette的相同 ^{}^{} 类。所以你可以用同样的方式使用这些类。在

区别在于Resource和{}必须在传递给Starlette的^{}之前实例化。在

可与Python3.6+配合使用。在

示例

fromstarlette.applicationsimportStarlettefromstarlette.requestsimportRequestfromstarlette.responsesimportPlainTextResponsefromstarlette.routingimportRoute,WebSocketRoutefromstarlette.websocketsimportWebSocketfromstarlette_resourceimportResource,WebSocketResourceclassGreetingService:asyncdefgreet(self,name:str)->str:returnf'Hello {name}!'classGreetingResource(Resource):def__init__(self,hello_service:GreetingService)->None:self.hello_service=hello_serviceasyncdefget(self,req:Request)->PlainTextResponse:name=req.path_params['name']greeting_message=awaitself.hello_service.greet(name)returnPlainTextResponse(greeting_message)asyncdefpost(self,req:Request):...asyncdefput(self,req:Request):...asyncdefdelete(self,req:Request):...classGreetingWebSocketResource(WebSocketResource):def__init__(self,hello_service:GreetingService)->None:self.hello_service=hello_serviceasyncdefon_receive(self,websocket:WebSocket,data:str)->None:greeting_message=awaitself.hello_service.greet(data)awaitwebsocket.send_text(greeting_message)# Servicesgreeting_service=GreetingService()# Resourcesgreeting_resource=GreetingResource(greeting_service)greeting_websocket_resource=GreetingWebSocketResource(greeting_service)app=Starlette(debug=True,routes=[Route('/greet/{name}',greeting_resource),WebSocketRoute('/websocket_greet',greeting_websocket_resource)])

安装

只需从PyPI安装:

pip install starlette-resource

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

推荐PyPI第三方库


热门话题
JFrame中的Java多线程   java Servlet异常映射   java无法从输出流读取   swing Java带来的小程序GUI问题   java什么原因导致错误“'void'类型此处不允许”以及如何修复它?   Java选择器select(长)与selectNow的区别   java自定义arraylist<mygames>获得不同   java Icepdf注释让页面消失   java反向整数数组   java I在生成同步“无法解析配置的所有依赖项”时遇到此错误:app:debugRuntimeClasspath   多个虚拟机上的java线程访问单个DB实例上的表,有时会导致性能低下和异常   swing更改Java中的默认按钮,使其看起来“更好”   java慢速MQ主题订阅。并行化不能提高性能   java运行Boggle Solver需要一个多小时。我的代码怎么了?   数据库中的java循环与应用程序中的java循环   正则表达式匹配${123…456}并在Java中提取2个数字?   java如何制作我们软件的试用版   Java内存参数计算   从另一个类调用方法时出现java问题