這可能是關於REST API的一個非常基本的問題。我剛開始閱讀docs,但沒有看到如何爲具有子對象的對象/模型實現API。相反,只有只有基元的對象(int,string等)的描述。Dart RPC和對象層次結構
有沒有對象層次結構的例子?或者,也許服務器模型只是在類定義中使用ID來引用子對象,比如Google的NDB是如何實現的?
這可能是關於REST API的一個非常基本的問題。我剛開始閱讀docs,但沒有看到如何爲具有子對象的對象/模型實現API。相反,只有只有基元的對象(int,string等)的描述。Dart RPC和對象層次結構
有沒有對象層次結構的例子?或者,也許服務器模型只是在類定義中使用ID來引用子對象,比如Google的NDB是如何實現的?
從文檔:
目前支持的類型爲公共領域是INT,雙,布爾, 字符串,日期時間,列表,地圖,以及另一個消息類。
這意味着你可以創建你需要的結構,唯一的要求是它中的所有對象都必須以特定的方式構造。
一個例子:
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由任何客戶,不只是鏢代碼。
關於沒有繼承的好處。你的意思是還有其他客戶端語言? :-) –
如果你看看messages used for testing這個包,有一些例子使用子消息,例如, TestMessage1。
有關更多示例,您可以查看dart_services項目,該項目是dartpad的後端。它的當前api here和消息定義here。 dart_services不使用直接嵌套消息,而是嵌套其他消息的列表。
也許這提供了一些見解http://www.moudra.net/2016/01/dart-rpc-create-restful-api-in-couple.html?m=1(還沒有看到它自己呢) –
謝謝。這是一個有趣的小博客發佈。 Dart API看起來很乾淨,但沒有存儲空間。 –