読者です 読者をやめる 読者になる 読者になる

Backbone.jsでPATCHをPUTに書き換える

javascript

Backbone.jsでsaveするときに patch: true にするとPATCHメソッドになってsaveに渡した引数だけをbodyに含める(patch :true しないとmodelの全attributesをbodyにしてPUTする)んだけど、API側がPATCHメソッドに対応してなかったりPATCHメソッドを通さないproxyがあったりした場合にPATCHをPUTに強制的に書き換えたい。

こうする。

var originalSync = Backbone.sync;
Backbone.sync = function(method, model, options) {
  if (method === 'patch') options.type = 'PUT';
  return originalSync(method, model, options);
};

うーん。。