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) 个答案