ここ数日、私は REST サービスを呼び出し、応答、エラー、コールバックなどを追跡する作業を行っています。ほとんどの投稿を行いましたが、Angular に関する理解が限られているため、理解できないようです。以下は、私がこれまでに得た問題と理解です。
「project_id」のみを返す Project.$update() サービスを使用しています。このサーバーは完全なデータを再度返しません。以下は、ここで共有する数行のコードです。
//create Project factory
app.factory('Project', function ($resource) {
return $resource('/api/projects/:projectid',
{projectid:'@id'},
{update: {method:'PUT', isArray:false}}
);
});
以下は、プロジェクトの更新/作成に使用しているディレクティブのコードです。
//save project
scope.saveProject = function (project) {
//update modified by field
project.modifiedby = scope.user._id;
//change to view mode
scope.projectView = 1;
//call server to save the data
if (project._id == undefined || project._id == "") {
//Call server to create new and update projectID
project._id = project.$save()._id;
}
else {
//Call server to update the project data
project.$update({ projectid: project._id });
}
};
以下は、save() と update() の両方に対するサービス応答です。
{"_id":"52223481e4b0c4d1a050c25e"}
ここでの問題は次のとおりです。「project」オブジェクトの値は、project_id のみを持つサーバーから返された新しい応答に置き換えられ、他のフィールドは置き換えられます。
$resource に関する詳細なドキュメントを調べていましたが、把握できません。エラー、レスポンス、コールバックを検出するためのコードを記述するためのガイダンスをここで得られることは素晴らしいことです。