1

这可能是关于 REST API 的一个非常基本的问题。我刚开始阅读文档,没有看到如何为具有子对象的对象/模型实现 API。相反,只有原始对象(int、string 等)的描述。

有没有对象层次结构的例子?或者,服务器模型可能只是在类定义中使用 ID 来引用子对象,就像 Google 的 NDB 是如何做到的?

4

2 回答 2

2

来自文档:

当前支持的公共字段类型为 int、double、bool、String、DateTime、List、Map 和另一个消息类。

这意味着您可以创建所需的结构,唯一的要求是其中的所有对象都必须以这种特定方式构造。

一个例子:

class Person {
  String name;
  int age
}

class Address {
  String city;
  String street;
}

class School {
  List<Person> staff;
  Person headmaster;
  List<Person> students;
  Address address;
}

我不太喜欢的一个限制是你不能在这些类中使用继承,但是 rpc 包的重点是创建一个可以被任何客户端使用的 API,而不仅仅是 dart 代码。

于 2016-01-11T08:36:10.617 回答
1

如果您查看用于测试包的消息,则有一些使用子消息的示例,例如TestMessage1

有关更多示例,您可以查看dart_services项目,它是 dartpad 的后端。它在此处有当前的 api 在此处有消息定义。dart_services 不使用直接嵌套消息,而是使用其他消息的嵌套列表。

于 2016-01-11T08:43:42.153 回答