REST风格的Web服务的urlHTML与JSON

为了生成访问客户数据的url,我遵循以下规范:

  1. 通过URL:wwww.somesite.com/customers交付与客户有关的所有JSON数据
  2. 要创build,更新或删除,请分别使用www.somesite.com/customers/ url和相应的动词POST,PUT和DEL

不过,我想提供一个html页面(最好在www.somesite.com/customers),通过AJAX调用访问所有的JSON数据。

我是否应该使用基于请求头中的HTML或JSON在相同的URL(www.somesite.com/customers)上进行响应? 还是有更好的/标准的方法来做到这一点?

使用头文件很难处理。 Imo最好只是使用一个可预测的不同的API的API。 如:

根据REST原则,URL指示资源,响应是资源的表示。

您可以根据客户指定的条件为相同资源生成不同的表示(JSON或HTML)。 这可以通过接受标题项目或查询string指定。

有可能的。

如果请求是xhr-Request你可以在这个请求里面xhr-Request例如在express.js中它位于“req.xhr“。 取决于是否可以提供HTML或JSON。

 app.get('/customers', function(req, res){ if(req.xhr){ res.type('application/json'); res.send({}); }else{ res.type('text/html'); res.send('<html>...</html>'); } });