我对如何在RESTful 3中使用SilverStripe服务器API感到有点困惑。我刚刚开始学习,下面的内容让我感到困惑。
我们网站上的所有内容都存储在数据库中。每个作为DataObject类的子类的类都将在我们的数据库中拥有自己的表。 这类的每个对象都对应于表中的一行--这是我们的“数据对象”,的“模型”。页类型有一个数据对象,它表示页面的所有数据。它不是直接从DataObject继承,而是从SiteTree继承。我们通常创建一个" page“数据对象,并为所有其他页面类型创建子类。这允许我们定义在我们站点中所有页面上一致的行为。
我这样做是为了设置页面,但是现在我正在学习RESTful服务器API,它说要创建一个扩展DataObject的对象。
原谅我的无知,但是扩展SiteTree不是一回事吗?
非常迷茫,所以会感激一些启示。
发布于 2012-10-05 11:11:19
如上所述,如果您扩展了SiteTree,那么您将扩展DataObject,但是会带来很多开销。其中一些开销可能对您很有用,因为SiteTree提供了版本控制、层次结构和其他很好的技巧,使其成为站点中页面的好类。
但是,如果您想管理许多对象,或者您没有使用层次结构或版本控制模型,或者您只想自定义对象是如何在CMS中显示或管理的,那么最好直接扩展DataObject。在SilverStripe documentation site和SSBits上有关于这方面的各种教程
This也可能对您有用。
一旦您的DataObject子类运行良好,就可以开始向它添加RestfulServer功能。最基本的方法是将静态属性添加到类中:
static $api_access = true; 有关使用RestfulServer的更多信息,请参阅可用here。
发布于 2012-08-15 08:26:51
你有没有看过以下网址:http://doc.silverstripe.org/framework/en/reference/restfulservice
此示例允许您以RSS格式提供数据。我不确定是否有一种简单的方法可以将数据输出为JSON,但是在web上有很多将rss转换为json的例子,所以您可以简单地更新应用程序,以便使用这种格式,并在需要时进行转换。
https://stackoverflow.com/questions/11757686
复制相似问题