1

JavaScript REST クライアントのベスト プラクティスはありますか。具体的には、リンクをたどる方法を知りたいです。Task クラスがあるとしましょう

public class Task
{
    public long TaskId { get; set; }
    public string Subject { get; set; }
    public bool Completed { get; set; }
    public bool Canceled { get; set; }
    public List<Link> Links { get; set; }
}

このサービス モデル クラスのインスタンスが JavaScript クライアントに送信されるとします。

{
    TaskId : '1',
    Subject : 'Some',
    Completed: false,
    Canceled : false,
    Links : [{Rel:'Completed', URL:'http://myadress/tasks/1/complete'}, 
             {Rel:'Canceled ', URL:'http://myadress/tasks/1/cancel'}]

}

これで、このタスクを完了したいと思います。これは、Rel : Completed のリンクをたどって行う必要があります。しかし、それを行う方法は?URL に POST してタスクの新しい表現を取得するか、次のようなものを作成する必要があります

var x = {
    TaskId : '1',
    Subject : 'Some',
    Completed: false,
    Canceled : false,
    complete : function(callback){ 
               // post to completed URL, and callback with new representation
               }
    Links : [{Rel:'Complete', URL:'http://myadress/tasks/1/complete'}, 
             {Rel:'Cancel ', URL:'http://myadress/tasks/1/cancel'}]    
}

x.complete(callback);

または専用の機能を作成しますか?

function completeTask(task, callback){
var url = //search links property for rel:Colmplete and get URL
//complete task
//callback with the new representation

}
4

1 に答える 1

0

私はJavascriptの世界に住んでいませんが、私が取ったアプローチはまだ有効であると信じています. リンク関係に関連するオブジェクトを作成します。したがって、completeLinkオブジェクトと、HTTP 要求の作成方法を認識している「cancelLink」オブジェクトがあります。

欠落している唯一の情報は、表現から抽出する URI です。すべてのクライアントがリンクからの応答で同じことを行うわけではないため、オプションでクライアントはデフォルトのコールバック動作を変更できます。ただし、リンク関係がその動作を明示的に定義しているため、すべてのクライアントはロジックを再利用して実際に HTTP 要求を作成できる必要があります。

それがJSでどのように見えるか非常に興味があります。私はその言語をもっとよく知っていればよかった。

于 2013-07-10T12:18:46.183 に答える