我已经决定要为我的音乐网站编写API。我真正想要的是在创建API时实现REST。如果我想要功能说,通过API播放下一首歌曲,我将如何进行此操作?
就我构建的网址而言,它会是API/{ID}/NextSong
,API/{ID}/?NextSong
还是API/{ID}?NextSong
。或者它会有点不同吗?
就代码方面而言,我计划在PHP中运行Web服务。我需要某种身份验证步骤。使用API对用户进行身份验证的最佳方法是什么? (我想可能有一个非常好的在线资源或其他东西。)
最后,音乐播放器采用HTML5和Javascript / jQuery。让玩家真正使用网络服务转到下一首歌的最佳方法是什么?我有一个nextSong()javascript函数,但我不知道如何访问它。我唯一能想到的是某种轮询,无论是AJAX长轮询还是定时轮询。还有其他更好,更有效的方法吗?
感谢您的帮助,我真正需要的是推动正确的方向,到目前为止,我所知道的很多是由于我在Sharepoint 2010中使用Microsoft的listdata.svc RESTful Web服务的经验。我的其余知识是限于this article about REST APIs in PHP。
答案 0 :(得分:1)
如果您的网址中包含“NextSong”,则表示您必须在服务器上保存每个用户状态。如果我有一个播放器并使用AJAX来对抗REST-API,我会让服务器成为“愚蠢的仆人”,它会做我告诉它的所有事情并让逻辑在客户端。
例如,我将获得一个以JSON或XML格式获取播放列表的服务。在客户端解析此问题。当您收听该播放列表中的歌曲时,您知道播放列表中的哪个位置以及当用户或播放器要求下一首歌曲时,音乐播放器将在播放列表中查找(保存在对象数组中可能是您拥有属性的链接列表上一首歌和下一首歌?),调用该服务开始播放歌曲ID #####。例如API / {ID} /播放/ {SongID}或API / {ID} /歌曲/ {SongID}。
此致
(EDIT Fixed Typo)