Python Web框架

xFlask的Python项目详细描述


xFlask结合了Flask的扩展,它的设计目的是使入门快速而容易地构建restfulweb服务,并能够扩展到复杂的应用程序。它从一个简单的Flask包装器及其扩展开始,提供一个简单的平台来简化API开发。在

1。功能

  • 遵循模型、数据访问对象(DAO)、服务和控制器的概念
  • 使用烧瓶注入器可以轻松地分离组件依赖关系
  • 提供了一种使用棉花糖验证值对象(VO)的简单方法
  • 通过Flask迁移来轻松维护数据库模式
  • 提供简单的日志API,帮助调试应用程序流
  • 适用于测试应用组件的烧瓶测试

2。用法

  • 型号
fromxflask.sqlalchemyimportColumn,Integer,Stringfromxflask.sqlalchemy.modelimportAuditModelclassUser(AuditModel):id=Column(Integer,primary_key=True)username=Column(String(50),unique=True,nullable=False)password=Column(String(50),unique=False,nullable=False)
^{pr2}$
  • 服务
frominjectorimportinjectfromxflask.serviceimportCrudServicefrommain.dao.userimportUserDaoclassUserService(CrudService):@injectdef__init__(self,dao:UserDao):super(UserService,self).__init__(dao)defget_user(self,user_id):returnself.user_dao.get_user(user_id)
  • 控制器
frominjectorimportinjectfromxflask.classyimportroute,JsonBodyfromxflask.controllerimportControllerfromxflask.web.responseimportResponsefrommain.controller.vo.userimportUserVofrommain.model.userimportUserfrommain.service.userimportUserServiceclassUserController(Controller):route_base='/api/user/'@injectdef__init__(self,user_service:UserService):self.user_service=user_service@route('<user_id>')defget(self,user_id):user=self.user_service.get(user_id)ifuserisNone:returnResponse.not_found()returnResponse.success(user)@route('',methods=['PUT'])defupdate(self,user:JsonBody(UserVo)):self.user_service.update(User(**user))returnResponse.success()
  • 值对象(VO)
fromxflask.marshmallowimportInt,Strfromxflask.marshmallowimportvalidatefromxflask.web.voimportVoclassUserVo(Vo):id:Int(required=True)username:Str(validate=validate.Length(min=2,max=50),required=True)password:Str(validate=validate.Length(min=2,max=50),required=True)

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

推荐PyPI第三方库


热门话题
tomcat Java条带错误   java OPENTSDB fsck修复程序不更正重复点   java JavaFX在控制器内切换自身的可见性   java maven surefire插件未并行执行运行程序   读取导致Freemarker模板引擎中TemplateException的Java对象   无法使Java库与我的Android应用程序一起工作   安卓 java。lang.IllegalStateException游标   使用Java检索XML文件中的XSL URL和名称   java如何从文本文件集合中提取特定值   电子邮件java mail gmail   java为什么finalize()只被垃圾收集器调用一次?   java方法findViewById(int)对于Json类型是未定义的。蛇形   java在安卓中尝试从brother打印机打印位图时遇到以下异常   java在颤振中支持Kotlin的优势   java从后面编写文本   java制作列表。第一个列表可以有相同的数字,第二个将是价格,尝试制作第三个列表,如果它们是相同的数字,它将添加价格