0
我有一個node.js應用程序,帶有一個Angular Webfrontend和一個Android應用程序,通過休息連接到後端。現在,我不知道如何從節點對象返回客戶端:從REST獲取數據Api
方法1:
res.send(req.user);
如果我不喜歡這樣我可以加載的角度,如用戶對象:
return $http.post('/api/login', user)
.success(function (data) {
$rootScope.currentUser = data;
,在我的Android應用(simplyfied電話,我使用Spring和GSON):
user = SpringRestTemplate.getRestTemplate().postForObject(Routes.getLogin(), user, User.class);
這工作得很好,但我其實想什麼,從節點返回將是我
方式2:
res.send({user: req.user });
的角度都幾乎保持不變:
$rootScope.currentUser = data.user;
但對於android我沒有發現任何其他方式,而不是自己寫json轉換:
ResponseEntity<Map> map = SpringRestTemplate.getRestTemplate().postForEntity(Routes.getLogin(), dUser, Map.class);
LinkedTreeMap<String, User> map2 = (LinkedTreeMap<String, User>) map.getBody();
Map ltm = (Map) map.get("user");
String id = (String) ltm.get("_id");
String userName = (String) ltm.get("userName");
// ... and so on
我明白了,爲什麼會出現這種情況(除了爲什麼我必須使用第二張地圖),但我想知道是否有更簡單的方法來實現我的第二種方式。
我離開了模型和SpringRestTemplate代碼出來,因爲這是對如何結構如下處理JSON更一般的問題:
{ user : { _id: "1", userName: "foo", ...}}
對如何處理這個問題的任何指導,將多不勝感激!
我通常只使用apaches lib來提出請求,它工作得很好。我不認爲復古適合已經得到支持了。它建立在Apache上 – NightSkyCode 2014-10-18 02:46:29
@HopeRunsDeep https://github.com/square/retrofit最新的提交2天前在寫這篇文章的時候 – biegleux 2014-10-18 05:01:08