我在后端使用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部分。
为什么成分的集合是一堆链接?我希望它包含每种成分的名称。这是REST的假设吗?
使用Angular $ Resource,如何使用ng-repeat轻松获取成分?
答案 0 :(得分:2)
首先,您需要使用https://code.google.com/p/x2js/或https://github.com/johngeorgewright/angular-xml将XML转换为JSON,因此您需要一个HttpInterceptor来转换来自服务器的所有请求和响应。
我不知道你为什么没有在你的回复中提供每种成分的名称,我认为你需要更改你的API返回的响应,但我不知道SilverStripe是如何工作的。