Web —体验中的RESTful哲学

由于有很多关于RESTful的介绍,因此我将仅介绍设计经验。
(我的网站是无服务器的,并且我使用AWS API网关来触发lambda。)

另外:Node.js中的异步/非阻塞操作

第一条和最后一条规则:使每个斜杠(/)有意义

我们有一个用于查询某物使用情况的网站,使用记录分为最新记录和历史记录。

如果选择“最新”,将进入选择查询条件页面。 单击条件之一后,结果将显示在页面上。
如果选择“历史记录”,我们将进入上一个查询页面。 此页面列出了3条查询历史记录。 带有向下箭头的按钮是下载使用情况报告(可能是.csv)的链接。
如果在上一个查询页面中单击“添加”,我们将进入另一个选择查询条件页面。 单击其中一个条件后,将再次进入上一个查询页面,而最新的查询条件将显示在查询历史记录列表的第一行中。

在“历史路径”中,我们在选择查询条件页面之前进入上一个查询页面的原因是将使用情况记录写入文件非常耗时。 我们希望它是非阻塞操作。

在展示设计之前,我想先解释一下设计规则。 使URL分层帮助使URL有意义。

例如,当我们看到http://flickr/photos/goo.chiu时,我们很快就会理解此页面显示了goo.chiu的照片。 当我们看到http:// flickr / photos时,我们知道这是一个包含许多用户相册的页面。 删除“ /”不会导致空白页或404页。

另一个示例是http:// movies / series / year,我们知道电影在此页面中按年份进行了分类。 http:// movies / series / hot在此页面中显示最热的电影。

正如我在一开始提到的,我使用AWS API网关来触发lambda函数。 因此,我将展示如何设计RESTful API网关。

所有这些都是关于“数据建模”的。