JFinal restful风格使用的疑问

luger 发布于 2014/04/05 12:22
阅读 1K+
收藏 0

@JFinal 你好,想跟你请教个问题:我用JFinal写了个小程序,主要是作为移动服务器端为手机应用提供接口,打算用restful风格的编码。在config里面的拦截器中加入了

me.add(new Restful());

现在问题是我的UserGroupController里面有其他方法,比如是quitGroup,这个是接收uid和gid分别是用户id和群组id,代表此用户退出群组。用post请求 http://localhost:8081/userGroup/quitGroup 传入参数uid和gid但是根据Restful拦截器会执行save方法。请问这个问题如何处理。谢谢。

加载中
0
缪斯的情人
缪斯的情人

me.add( new  Restful());去掉它,用它作甚,徒增限制。restful是一种风格,不是规范,如果你拘泥于固定的形式,那就会带来你现在所面临的问题:本来简单的问题,搞复杂化了

0
JFinal
JFinal

     JFinal 提从的 Restful 拦截器是按照标准的 restful 风格实现的,请求类型与具体的 url 对应关系在 com.jfinal.ext.interceptor.Restful.java 代码中有说明:

GET		/user			--->	index
GET		/user/id		--->	show  
GET		/user/add		--->	add
POST		/user			--->	save	
GET		/user/edit/id		--->	edit
PUT		/user/id		--->	update
DELETE		/user/id		--->	delete

由于浏览器不支持 PUT、DELETE这样的请求类型,所以JFinal 采取了将请求方法(method)直接放到 url 中的策略,如传统 restful:DELETE /user/id 在 JFinal 中路由是:/user/delete/id,并且这个 delete是自由可以变化的,或许你想要的是 /user/remove/id。

   JFinal 在理论上是 restful 的,但在形式上采取了更加自由和现实的实现方式,即将 method 直接在 url 中呈现,这样更方便开发者的使用。即便如此 JFinal 仍然提供了 Restful 拦截器来支持严格的 restful url风格。

   Restful 是Roy Fielding在2000年他的博士论文中提出来的一种软件架构风格,关键在于其表达的思想,而实现形式则是次要的。


JFinal
JFinal
可以看看这篇问答: http://www.oschina.net/question/1985925_233144
返回顶部
顶部