1

皆さん、restify.js を使用して Node.JS で最初の API を設計しています。私のバックグラウンドは webapis ではありません。私の素人の質問を許してください。いずれにせよ、 res.send(data); が欲しいです。モバイル アプリケーションが API 呼び出しの利用を開始できるように、 http://jsonapi.org/format/に準拠するように応答します。現時点で、私の API を呼び出すと、次の形式でデータが返されます。

{"Count":1,"Items":[{"dbsource":{"S":"foo"},"id":{"S":"5002820"},"name":{"S":"fnameblah,lnameblah"},"expiration":{"S":"06/13/2015"},"type":{"S":"bar"}}]}

実際、上に表示されているのは、DynamoDB Query 呼び出しの単なるリターンです。

問題は、データを渡すことができる特別なライブラリを使用するかどうかです。このライブラリは、データをフォーマットして JSON 形式で返します。次に、 res.send(data) を介してクライアントに返すことができますか、または「データ」を JSON に準拠させてから返すのは私たち次第ですか? 最終的には、次のような結果が得られることを望んでいます。

{
  "posts": [{
    "id": "1",
    "title": "Rails is Omakase",
    "links": {
      "author": "9",
      "comments": [ "5", "12", "17", "20" ]
    }
  }]
}

ありがとう!

4

2 に答える 2

4

サーバー側では、JSON オブジェクトを文字列化して、

//...
res.statusCode = 200;
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify(data)); //data is JSON object
res.end();

クライアント側では、それに応じて JSON 文字列を解析します。

編集: 応答コンテンツ タイプを修正しました。

于 2013-09-30T06:41:48.443 に答える