2016-01-05 143 views
1

這可能是關於REST API的一個非常基本的問題。我剛開始閱讀docs,但沒有看到如何爲具有子對象的對象/模型實現API。相反,只有只有基元的對象(int,string等)的描述。Dart RPC和對象層次結構

有沒有對象層次結構的例子?或者,也許服務器模型只是在類定義中使用ID來引用子對象,比如Google的NDB是如何實現的?

+0

也許這提供了一些見解http://www.moudra.net/2016/01/dart-rpc-create-restful-api-in-couple.html?m=1(還沒有看到它自己呢) –

+0

謝謝。這是一個有趣的小博客發佈。 Dart API看起來很乾淨,但沒有存儲空間。 –

回答

2

從文檔:

目前支持的類型爲公共領域是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由任何客戶,不只是鏢代碼。

+0

關於沒有繼承的好處。你的意思是還有其他客戶端語言? :-) –

1

如果你看看messages used for testing這個包,有一些例子使用子消息,例如, TestMessage1

有關更多示例,您可以查看dart_services項目,該項目是dartpad的後端。它的當前api here和消息定義here。 dart_services不使用直接嵌套消息,而是嵌套其他消息的列表。