2017-09-18 10 views
1

私は小さなプロジェクトで働いており、snake_case形式のキーを持つjsonレスポンスを送信するExpress.jsベースのノードアプリケーションを実行しています。このサービスを使用する別のノードアプリケーションがありますが、レスポンスオブジェクトのキーはここではcamelCase形式でアクセスされます。この仕事をするために何が起こったのかを知りたい。 Express.jsの応答がsnake_caseキーをcamelCaseに自動的に変換します

この

は、REST APIのコードである

app.get('/api/customer/:id', (req, res) => { 
    const data = { 
     "arr": [{ 
      "my_key": "609968029" 
     }] 
    } 
    res.send(data); 
}); 

これは、それが他のノード・アプリケーションで消費される方法である。ここ

getData = (id) => { 
    const options = { 
    url: `api/customer/${id}` 
    }; 

    return httpClient.get(options) 
    .then(data => { 
     const arr = data.arr.map(arrEntry => { 
     return { 
      myKey: arrEntry.myKey 
     }; 
     }); 

     return { 
     arr 
     }; 
    }); 
}; 

MYKEY正しくREST APIからデータを持っているが、私は」 my_keyがどのようにmyKeyに変換されているのか分かりません。

+0

にこのコードを発見したデータの処理を行うためにどちらかの端にインストールされているすべてのミドルウェア(複数可)がありますか?データは電線のどのようなものですか? 'Content-Type'と一緒に送信されるのは何ですか? –

+0

'httpClient'とは何ですか? – robertklep

答えて

1

私たちはhumpsライブラリを使って、snake-caseキーからcamelCaseへの応答オブジェクトを解決しました。

私はlibにコール

const humps = require('humps'); 
... 
axios(optionsObj) 
    .then(response => { 
    resolve(humps.camelizeKeys(response.data)); 
    }) 
    .catch(err => { 
    reject(err); 
    }); 
関連する問題