Angular - 与$ Resource的REST服务XML链接

时间:2015-03-01 21:30:16

标签: angularjs rest silverstripe

我在后端使用Angular和SilverStripe。我将这个模块https://github.com/silverstripe/silverstripe-restfulserver用于我的REST API,而不是自己构建它。

当API返回具有many_many关系的列表时,它看起来像

<Recipe href="http://localhost/groceryList/api/v1/Recipe/2.xml">
<Title>Chilli</Title>
<ID>2</ID>
<Ingredients linktype="many_many" href="http://localhost/groceryList/api/v1/Recipe/2/Ingredients.xml">
    <Ingredient href="http://localhost/groceryList/api/v1/Ingredient/5.xml" id="5"/>
    <Ingredient href="http://localhost/groceryList/api/v1/Ingredient/6.xml" id="6"/>
    <Ingredient href="http://localhost/groceryList/api/v1/Ingredient/7.xml" id="7"/>
</Ingredients>
</Recipe>

我的问题是2部分。

  1. 为什么成分的集合是一堆链接?我希望它包含每种成分的名称。这是REST的假设吗?

  2. 使用Angular $ Resource,如何使用ng-repeat轻松获取成分?

1 个答案:

答案 0 :(得分:2)

首先,您需要使用https://code.google.com/p/x2js/https://github.com/johngeorgewright/angular-xml将XML转换为JSON,因此您需要一个HttpInterceptor来转换来自服务器的所有请求和响应。

我不知道你为什么没有在你的回复中提供每种成分的名称,我认为你需要更改你的API返回的响应,但我不知道SilverStripe是如何工作的。