首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

在其他语言社区里有没有像 django 的 drf 这样的声明式的 REST 框架。

  •  
  •   k4kklong · 28 天前 · 711 次点击

    在 Python 的 web 框架 Django 中有个 django-rest-framework,写几个简单的类就可以搭出一套将数据库表直接映射成的 REST 接口,并处理好了 http 动作和状态,包含 search 和 filter,还有权限断路器等东西。

    由于我不熟悉其他语言,想问下其他语言里有没有这样好用的工具,或者类似的好用不啰嗦的声明式框架,以便需要用到的时候能快速的上手其他语言。

    我觉得 java 和 golang 中应该是有的。

    6 回复  |  直到 2019-04-24 10:49:44 +08:00
        1
    luoyou1014   28 天前
    最早搞这套模式的应该是 rails 吧,然后被其他框架学走了,这个模式比比皆是,rails 是鼻祖,php 里面我用过 yii 也是这样,但说实话这中模式并不是很好用,表面上节约了不少工作量,实际中使用的时候要做很多 hack 到项目中。
        2
    Lax   28 天前
    看了 drf 的文档,感觉不太方便,还要手工写 router。
    和 rails 还是不太一样,rails 默认是 REST 风格,没有 search 的路由(只有 find )。
    现在有了 graphql,用起来更方便
        3
    est   28 天前
    走 restful 路线 drf 当然很好用了。

    然而 restful 都不好用的场景,drf 用起来就很别扭。
        4
    zqx   28 天前 via Android
    恰好和后端对接过这个库生成的接口,GET POST DELETE PATCH CREATE 这几个比较常用,感觉可扩展性不强,必须按照规范来。
        5
    gsj987   28 天前
    drf 需要显试配置的地方还是不少,CRUD 之外的操作,需要更多的带入到框架的逻辑内,业务复杂的时候反而显得麻烦。不过他帮我们把一些基础建设都做好了,在 Django 体系里暂时没有做的比他更好的。

    不过主要 Django 本身的体系和结构也比较简单,而且是大包大揽的方式,所以 drf 的处理无可厚非。在一些更有分层和结构要求的框架和语言下,类似的框架会更有通用性,解决的问题更专一,当然使用起来也更复杂。

    nodejs 里 nestjs 框架有一个 nestCRUD https://github.com/nestjsx/crud 我觉得是比较接近 drf 的,不过他是用了 nestjs 的分层架构,所以和 django 还是有很多不同。但是鉴于 django 和 drf 比他们成熟的多,而且他们俩本身是一揽子方案,没有外部依赖,所以一开始用 nestjs + nestCRUD 会不太适应。
        6
    lybcyd   28 天前 via Android
    Spring data rest 应该差不多,建个 model 继承一下 jpa 接口就可以了
    感觉这种只适合单纯的资源类模型,业务逻辑复杂一点的就不够方便了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2668 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 13:19 · PVG 21:19 · LAX 06:19 · JFK 09:19
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1