Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从RESTAPI获取数据_Android_Node.js_Spring_Web Services_Rest - Fatal编程技术网

Android 从RESTAPI获取数据

Android 从RESTAPI获取数据,android,node.js,spring,web-services,rest,Android,Node.js,Spring,Web Services,Rest,我有一个node.js应用程序,有一个Angular Webfrontend和一个Android应用程序,通过rest连接到后端。现在我不知道如何将对象从节点返回到客户端: 方式1: res.send(req.user); res.send({user: req.user }); 如果我这样做,我可以从以下角度加载用户对象: return $http.post('/api/login', user) .success(function (data) { $rootScope.curr

我有一个node.js应用程序,有一个Angular Webfrontend和一个Android应用程序,通过rest连接到后端。现在我不知道如何将对象从节点返回到客户端:

方式1:

res.send(req.user);
res.send({user: req.user });
如果我这样做,我可以从以下角度加载用户对象:

return $http.post('/api/login', user)
  .success(function (data) {
  $rootScope.currentUser = data;
在我的Android应用程序中(simplyfied call,我使用Spring和Gson):

这很好,但我实际上希望从节点返回的是我的

方式2:

res.send(req.user);
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

任何关于如何处理此问题的指导都将不胜感激

这是简化的,但这将解决您的问题

  • 使用创建与JSON模式匹配的POJO
  • 如果可以,可以使用或更适合Android的东西来使用API
  • 创建一个改装服务(查看上面的改装链接),然后连接到API,您将拥有一个用户对象 备选案文B:
    用于将对象从spring中反序列化为POJO。但我建议使用改型或类似的东西,因为它更简单、更干净。

    我通常只使用apaches lib发出请求,而且效果很好。我认为复古修身不再受支持。它建立在apache之上anyway@HopeRunsDeep在撰写本文时,最近一次提交是在2天前