我有一个Web服务控制器,提供"活动"数据
GET /api/activity/list
GET /api/activity/1
GET /api/activity/activity-slug-name
PUT /api/activity
DELETE /api/activity/1
Run Code Online (Sandbox Code Playgroud)
它还提供了一些"元"数据
GET /api/activity/meta/dates
GET /api/activity/meta/states
Run Code Online (Sandbox Code Playgroud)
它们都使用ngResource非常好地工作,因为它们都返回JSON对象.但是/ api/activity/meta/dates却没有
它返回一个字符串数组
[
"2013-06-02T17:05:16Z",
"2013-06-07T17:05:16Z",
"2013-08-17T17:05:16Z"
]
Run Code Online (Sandbox Code Playgroud)
ngResource将其转换为char数组数组,请参阅:ngResource请求与字符串数组的结果无效
显然我可以将元函数拆分成某种形式的ActivityMetaService,但我更愿意将它们保存在一起
我的问题是
有没有办法阻止ngResource执行这种过度热衷的对象分解?
或者我应该使用棱角分裂?
提前致谢
*更新*
感谢Mark的评论.如果你把它作为答案我会接受它,因为它指向Angular中的一个错误,而另外两个答案不适合当前的架构.
虽然你技术上是正确的,但自从80年代中期以来没有人将字符串作为字符数组,C/C++程序员除外:)
我已经使用angular.js项目在github上提出了一张票,参考如下
这是一个艰难的,但我相信这并不是闻所未闻.
我有两个数据集,国家和人口统计数据.国家/地区数据集包含国家/地区的名称以及人口统计数据的ID.
人口统计数据集是从国家到郊区的分层数据集.
这些数据集都是每周从第三方提取的.
我需要将人口统计信息分成文件,每个国家一个.
到目前为止,我的步骤是1)拉动国家2)拉动人口统计3)(这是必要的)循环国家数据集称为"写国家人口统计数据到文件"
有可能以某种方式重复传递当前国家ID的步骤吗?
编辑:添加了PartitionHandler示例的链接
谢谢JBristow.下面的链接显示了使用重写PartitionHandler来使用JavaTask对象的addArgument传递参数,但它看起来像是开发人员的很多繁重工作而不是非常"特定于业务问题",这是Spring批处理的目标. http://www.activeeon.com/blog/all/integration/distribute-a-spring-batch-job-on-the-proactive-scheduler
我还在原始链接部分7.4.3中看到了.将输入数据绑定到步骤这是在7.4.2的上下文中.分区,这看起来非常令人兴奋
<bean id="itemReader" scope="step"
class="org.spr...MultiResourceItemReader">
<property name="resource" value="#{stepExecutionContext[fileName]}/*"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
我不认为任何人都有一些样本的XML配置吗?
提前致谢.
也许这只是我对这个注释的误解,然而它并没有按预期工作.
我有以下对象图
User
-> Company
-> Users
-> Groups
-> Permissions
Run Code Online (Sandbox Code Playgroud)
如你所见,会有一些递归.JMS通过不序列化其他用户的公司属性以及当前用户来很好地处理这个问题.
但是,我希望序列化停止并包含公司.
我试过这个期望,一旦级别$ context-> level = 2,它就会停止
<?php
namespace FinalConcept\TimeTracker\EntitiesBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation as JMS;
/**
* FinalConcept\TimeTracker\EntitiesBundle\Entity
*
* @ORM\Table(name="users")
* @ORM\Entity(repositoryClass="FinalConcept\TimeTracker\EntitiesBundle\Repository\UserRepository")
*/
class User implements UserInterface, \Serializable
{
/**
* @ORM\ManyToOne(targetEntity="company", inversedBy="users")
* @ORM\JoinColumn(name="company_id", referencedColumnName="id")
* @JMS\MaxDepth(depth=1)
*/
private $company;
}
Run Code Online (Sandbox Code Playgroud)
然而,这种情况并非如此.即使单步执行代码也没有说明如何阻止它.
我很乐意创建一个自定义处理程序,如果我只能为特定路径调用它,即User.Company
对于具有以下图形的User.Groups,我也需要这个
User
-> Groups
-> Permissions
-> Users
-> Groups
-> users ....
Run Code Online (Sandbox Code Playgroud)
预先感谢您提供有关如何限制对象图的序列化深度的任何帮助