ユーザーがアプリ内のドキュメントのスラッグ名 (URL) を設定できるようにしたいのですが、ユーザーが互いにオーバーライドしないように制御する必要もあります。ユーザーが独自のスラッグ名の提案について視覚的なフィードバックを得ることができるように、別の呼び出し ( create/と統合されていない) である必要があります。update
したがって、最終的なスラッグ名のシードとしてsuggestSlugオプションのパラメーターを取る API 呼び出しを作成しました。slug
これは私のExpressルートがどのように見えるかです:
app.get('/api/projects/suggestSlug/:slug', projects.suggestSlug);
app.get('/api/projects/suggestSlug', projects.suggestSlug);
app.get('/api/projects', projects.list);
app.get('/api/projects/:id', projects.show);
ここで、クライアント側 (AngularJS) で ngResource を拡張して、この API を利用したいと考えています。
angular.module('myapp.common').factory("projectModel", function ($resource) {
return $resource(
"/api/projects/:id",
{ id: "@id" },
{
update: { method: "PUT", params: { id: '@_id' } },
del: { method: "DELETE", params: { id: '@_id' } }
}
);
});
新しい API を使用するために ngResource クライアントを拡張するにはどうすればよいですか?