REST是 Redkale 的主要功能之一,REST提供的功能是根据Service自动生成HttpServlet,需要注意的是 Redkale里的REST与标准的RESTfull规范完全不同,仅仅名称类似。标准的REST规范比较死板,只是在请求URL和Method上做文章,功能单一。Redkale里的REST功能是很强大的, 无论登陆、鉴权、文件上传下载、WebSocket都可以REST化,几乎完全可以省去HttpServlet。
标记@RestService的Service对象在服务启动时会自动生成原始的HttpServlet加载到当前的HttpServer中,其HttpServlet的请求URL规则为:path + "/" + @RestService.catalog() + "/" + @RestService.name() + "/*", 其中path为application.xml文件中<rest>节点的path属性值。节点rest和servlets设计一个path属性是为了所有动态请求加个前缀方便静动分离,没有采取.jsp .do那种刷存在感的后缀方式也是处于安全考虑,外界根据URL无法判断后台使用的是什么语言或框架开发。
REST会根据Service方法的返回类型不同做出不同的结果输出。
转载至 https://my.oschina.net/redkale/blog/1934956
上一篇:没有了