播放框架和 REST
Posted
技术标签:
【中文标题】播放框架和 REST【英文标题】:Play framework and REST 【发布时间】:2011-08-16 10:52:06 【问题描述】:嗯,到目前为止,我很喜欢 Play,我希望在尝试开发出色的 REST 应用程序的过程中成功和失败的故事激励社区。我在 Django 和 考虑将http://django-tastypie.readthedocs.org/en/latest/?redir API 创建包中的一些方法应用于 Play。
你有没有找到一个很好的等价物,通过 API 包暴露模型 节流、数据输出白名单、数据输出格式化、自动api url路由等灵活设置?
【问题讨论】:
【参考方案1】:前段时间,在 play google 群里出现了关于暴露 Models 的讨论。这是一个相当挑剔的讨论,因为观众被完全分成两组: - 那些真正喜欢这个功能并且绝对想要它的人。 - 那些说在表示层上直接公开你的模型是一种非常糟糕(甚至危险)的方式,因为它破坏了 MVC 设计并直接公开你的业务数据,可能会破坏安全性或数据完整性等......
我不属于任何群体,我只是客观地考虑这个问题... 在查看这个 Django API 时,我认为如果您可以控制模型的公开方式以及公开的具体内容,这不是什么大问题。 但是我不知道在 Play 中开箱即用!...我不知道之前在这里引发讨论的那个人是否完成了他的模块...无论如何,CRUD 模块已经做了一些事情像这样,因为它内省您的模型字段以公开 CRUD 接口......所以将其公开为 REST 只是一个演示问题(和一些工作)恕我直言。
【讨论】:
您可以使用自定义视图增强 CRUD 模块,为您的模型提供 REST API。但是不建议直接使用 CRUD 模块,因为: 1. 它不处理非简单模型。 2.它不处理安全问题。【参考方案2】:这里有几个模块可以帮助您从游戏中构建 REST Web 服务!应用程序
RESTEasy play module
RESTEasy Play 模块允许您使用 RESTEasy 在 Play 框架中定义 JAX-RS RESTful Web 服务。
和
RESTEasy-CRUD Play module
RESTEasy-CRUD Play 模块允许您使用 RESTEasy 在 Play 框架中自动生成一组 CRUD JAX-RS RESTful Web 服务。
希望对你有帮助
【讨论】:
作为评论,您提供的第一个链接已更改为link 感谢@opensas 有人在 Play 2.x 中使用过 RESTEasy Play 模块吗?以上是关于播放框架和 REST的主要内容,如果未能解决你的问题,请参考以下文章