有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何通过Android通过环回REST发送复杂对象?

我在带有安卓客户端的服务器上使用环回

我想使用RESTfull API从Android(使用Loopback SDK)发送一个类似于Android的对象:

public class MyRESTObject extends Model {

private String name;
private String date;
private HashMap<String, MySubObject> content;


private static void run(Activity activity) {
    final MySubObject myContent = new MySubObject();
    myContent.setValues(new HashMap<String, Integer>() {{
                            put("A", 1);
                            put("B", 2);
                        }}
    );

    myContent.setTexts(new HashMap<String, String>() {{
                           put("Q", "Bonjour");
                           put("S", "Aurevoir");
                       }}
    );

    RestAdapter adapter = new RestAdapter(activity.getApplicationContext(), "https://x.herokuapp.com:443/api");
    ObjectRepository repository = adapter.createRepository(ObjectRepository.class);

    MyRESTObject myObject = repository.createObject(ImmutableMap.of("date", new Date()));
    myObject.name = "hello";
    myObject.content = new HashMap<String, MySubObject>() {{
        put("1", myContent);
        put("2", myContent);
    }};
    myObject.save(new VoidCallback() {
        @Override
        public void onSuccess() {

        }

        @Override
        public void onError(Throwable t) {

        }
    });
}

public class ObjectRepository extends ModelRepository<MyRESTObject> {

    public ObjectRepository() {
        super("Tasting", MyRESTObject.class);
    }
}
}

public class MySubObject {
    public HashMap<String, Integer> values;

    public HashMap<String, String> getTexts() {
        return texts;
    }

    public void setTexts(HashMap<String, String> texts) {
        this.texts = texts;
    }

    public HashMap<String, Integer> getValues() {
        return values;
    }

    public void setValues(HashMap<String, Integer> values) {
        this.values = values;
    }

    public HashMap<String, String> texts;
}

现在在环回中,我定义了如下模型:

"properties": {
    "date": {
      "type": "date"
    },
    "name": {
      "type": "string"
    },
    "content": {
      "type": "object"
    }
  },

当我在服务器级别得到post请求时,我得到了以下JSON

{
  "name":"myName",
  "date":"2015-06-01",
  "content":{
    "name1":"javaObjectRef1",
    "name2":"javaObjectRef2",
    "name3":"javaObjectRef3"
  }
}

我期待更多:

{
  "name":"myName",
  "date":"2015-06-01",
  "content":{
    "name1":{
      "values" : {
         "A":"1",
         "B":"10
       },
      "texts": {
         "Q":"Bonjour",
         "S":"Aurevoir"
       }
     },
    ...
}

如何才能获得完整的深层内容


共 (0) 个答案