面向资源的RESTful Web应用研究

2018-09-17 05:36杨力
科教导刊·电子版 2018年21期
关键词:应用设计

杨力

摘 要 在web技术的探索实践基础之上提出面向资源的RESTful Web应用设计方案,从资源规划、控制器设计以及模型建立等方面分析其实现原理,并且在Rails框架下提出RESTful Web应用开发步骤。本文主要分析面向资源的RESTful Web应用,希望能够对相关人员起到参考性价值。

关键词 面向资源 RESTful Web 应用设计

中图分类号:TP311 文献标识码:A

现阶段,基于RESTful Web已经广泛应用在大部分领域当中,某些大型企业能够给予REST服务和web服务,尽管各项服务使用了REST风格,然而并没有实现真正意义上的RESTful Web应用。静态网站整体呈现REST风格,但是我国在网站基础之上提供用户动态服务的RESTful Web应用程序比较鲜见。

1使用Rails实现RESTful Web应用的原理

现阶段,Rails已经全面基于REST,但是该框架无法对资源进行直接定义,将web应用功能划分为若干个控制器,利用控制器暴露资源。因此一个控制器对应一个资源,在Rails控制器当中具备行为功能,能够通过标准动作操作资源的CRUD。设计控制器就能够明确资源暴露和统一接口方法等。

在Rails文件当中,使用map定义RESTful Web,主要是应用资源路由。RESTful URI包括模型类和控制器,在URI当中不包含动作,利用HTTP当中的动词和组合形式能够操作某个资源,其中Routes主要是将用户请求路由输送到制定方法,利用控制器能够向Rails下发指令,使其将接收到的请求路由分给适宜的类别,有效处理给定请求。如果Rails接收到HTTP请求,则会按照请求目标的首个路径变量将请求分配给控制器处理。

2基于Rails的RESTful Web应用设计步骤

由于Rails能够支持REST,因此在设计应用程序时需要从资源角度出发,合理规划资源。将能够抽象化的所有东西都定义为RESTful Web中,这样能够使所有URI表示特定资源,由各个资源共同组成系统。应用URI对系统结构进行设计,这样才能够更好地设计RESTful Web应用。基于Rails的RESTful Web应用设计步骤如下:规划数据集——建立模型——设计控制器(将数据集分配到各控制器当中,定义资源URI,之后按照系统功能建立资源)——路由(在route当中利用map配置REST路由,针对嵌套资源来说,Rails能够提供路由定义)——设计视图(Rails视图主要是利用ERb模板进行定义,因此在视图当中需要应用route当中的helper方法,用户能够借助于按钮和链接与系统之间进行交互炸,转移资源链接状态)。

3面向资源的RESTful Web答疑系统

为了全面体现出RESTful Web应用设计思想,此次研究主要是应用网络答疑系统在Rails框架下实现RESTful Web的应用开发作为案例分析。答疑系统主要是利用网上答疑处理用户问题,之后用户可以维护和管理问题,能够对自身提出的问题和解答进行显示,如下所示:

3.1数据集规划

网络答疑系作为整个系统的简化部分,能够将所有数据信息主要涉及用户,问题和答案。其中“用户”主要包括教师和学生,其中教师拥有姓名,密码,简介和电子邮件属性,学生拥有用户名称,密码和电子邮件属性;“问题”主要是学生所提问的问题,主要是学生用户名问题标题和解答属性等;“答案”与“问题”配套,主要是由教师提供,包括教师姓名,问题和答案等。

3.2建立模型

在网络答疑系统当中的实体,可以建立学生,教师,问题和答案等四个数据表,其对应的模型文件和表间关系如下:

class student

3.3控制器設计

面向资源的RESTful Web设计思想主要是将应用功能细分为若干个控制器,之后由控制器暴露资源。所以,设计控制器就是设计资源,系统实现功能主要是定义和命名资源,因此需要采用名词方式命名资源。Rails控制器可以使用Ruby类实现,在此次研究当中共设计了八个控制器,分别包括以下方面:教师控制器:能够对教师资源实施CRUD操作,教师控制器的根URI为教师;学生控制器:能够对学生资源实施CRUD操作,学生控制器的根URI为学生;问题控制器:从属于学生资源,问题控制器的根为学生ID和问题。由问题控制器当中的“show”能够完成学生问题,其对应的URI是学生ID和问题;由问题控制器当中的“new”能够完成学生提问,其对应的URI是学生ID和问题以及“new”。对于非CRUD控制操作的控制器来说,典型问题和最新问题,问题查询等都是经过资源化处理之后对应的控制器,URI和HTTP动词以及操作描述等。答案控制器从属于问题资源,该控制器的根为问题ID和答案,教师解答问题能够建立新的资源,并且由问题控制器最新问题和问题控制器的创造问题对应答案表的创造操作。

用户登录和退出控制器。用户登录状态控制器的根为 “登录状态”,登录和退出对应的Rails方法主要是登录状态控制器的“新建”和“历史记录”。

4结束语

综上所述,通过以上分析能够看出,系统功能创建资源主要包括建立Rails控制器,路由定义和嵌套资源的定义和操作,并且不具备针对功能定义,每一项操作都是由REST URI和HTTP动词决定。

参考文献

[1] 李彬峰.基于RESTful Web服务的轻量级电子村务平台的研究与应用[D].广州:华南农业大学,2016.

猜你喜欢
应用设计
高职英语分类教学模式的应用设计
基于HTML5技术的云存储应用设计探讨
项目教学法在《基础会计》教学中的应用
分层教学模式在初中信息技术中的应用设计
居住空间绿饰陈设原则与应用