2009年6月9日星期二

RESTful的课程表

一个连锁健身会所在全国有70多家分店,每个店都要有一张课程表。课程表中包含一周的课程、操房、教练等信息。如果客户感兴趣,还可以进一步了解课程介绍、操房介绍和教练介绍等信息。课程表会不定期进行变更,客户可以在网页上查看,也可以下载PDF文件。

如果按RESTful的风格进行设计,可以考虑这样的URL:
http://www.HealthIsOne.com/schedules
http://www.HealthIsOne.com/shanghai/citychamber/schedule
http://www.HealthIsOne.com/coaches/troy.zhu/
http://www.HealthIsOne.com/shanghai/citychamber/rooms/room2
http://www.HealthIsOne.com/courses/YugaIntro

返回的内容可以协商,根据不同情况返回HTML、XML、JSON、PDF或图片,也可以有这样的URL:
http://www.HealthIsOne.com/coaches/troy.zhu/photo
http://www.HealthIsOne.com/coaches/photos
http://www.HealthIsOne.com/shanghai/citychamber/coaches/photos

课程表会变更,就意味着有历史课程表,所以可以有这样的URL:
http://www.HealthIsOne.com/shanghai/citychamber/schedule/20080305

这样做的好处在于:
1、以业务资源为中心,隐藏一切实现细节
2、应用和数据回归Web本质
3、容易支持扩展
4、容易实现缓存机制

没有评论: