路由拆分到 FrontRutes 与 AdminRoutes 之中配置的好处:
1:可分别配置不同的 baseViewPath 与 Interceptor
2:避免多人协同开发时,频繁修改此文件带来的版本冲突
3:避免本文件中内容过多,拆分后可读性增强
4:便于分模块管理路由
将“/”映射到IndexController通过配置实现访问
http://localhost 将访问IndexController.index()方法
路由是信息传递到目的地的行为法方法
8.使用Handler扩展路由规则-伪静态
http://localhost/routes/method1.html
可以考虑参考TOP(淘宝开放平台)的规范,或者参考基于Spring实现的ROP的实现,通过post/get访问唯一入口,通过指定参数来派发到指定的action。服务端一律返回json串,目前在做一个基于JFinal实现的类似TOP的插件,这阵子太忙了。这阵子忙完了放出来。
先放一些预告片
配置插件
public void configPlugin(Plugins me) {
JopPlugin jop = new JopPlugin()
jop.addService("1.0", "hello", "/hello")
jop.addService("1.0", "user", "/user")
jop.extendsService("2.0","1.0")//版本2继承自版本1
jop.addMethod("2.0", "user.add", "/user/addV2")//版本2修改的服务
jop.setAppSecretManager(new SampleAppSecretManager())//安全认证服务
me.add(jop)
}
@Override
public void configRoute(Routes me) {
me.add("/api", ApiController.class)
me.add("/hello", HelloController.class)
me.add("/user", UserController.class)
}
这是唯一入口地址,jobrequestprocessor进行权限验证和请求转发。
public class ApiController extends Controller {
public void route() {
JopRequestProcessor.me().processRequest(this)
}
}
调用方式:
http://localhost:8080/api/route?v=2.0&method=user.add&app_key=00001&timestamp=20140918202830&nonce=343128&sign=B50FE891DDB0DCA4484229614EECDB470804B0F0
http://localhost:8080/api/route?v=1.0&method=user.add&app_key=00001&timestamp=20140918202830&nonce=343128&sign=F2687669CD9188EDBC7F34510B6FE8F273746861
第一个请求派发到/user/addV2,第二个请求派发到/usr/add
@JFinal 给点意见啊。目前还有不少工作需要做,特别是错误信息统一化问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)