starlete资源,帮助您遵循分层体系结构。
starlette-resource的Python项目详细描述
星状资源
Starlette帮助您遵循分层体系结构的资源。在
这个模块的目的是促进分层体系结构的实现。
Resource
和{
区别在于Resource
和{
可与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
- 项目
标签: