RT::Extension::REST2 API请求工单关联Requestor字段附加属性问题
在RT::Extension::REST2中获取工单请求者的附加Name字段
要实现你需要的返回结构,核心是要触发关联对象的展开并指定嵌套字段,之前的写法缺少关键的展开触发逻辑,导致无法加载请求者的Name字段。
正确的请求方式
有两种可行的参数写法:
方式1:结合expand与fields参数
用expand=Requestor告知API需要展开Requestor关联对象,再通过fields[Requestor]指定要返回的字段(包含默认的id、type、_url,加上需要的Name):
/REST/2.0/ticket/8?expand=Requestor&fields=Requestor&fields[Requestor]=Name,id,type,_url
方式2:使用嵌套字段语法
直接在fields参数里通过{}指定关联对象的嵌套字段,无需额外的expand参数:
/REST/2.0/ticket/8?fields=Requestor{Name,id,type,_url}
预期返回结果
两种方式都能得到你需要的结构:
"Requestor": [ { "_url" : "http://<>/REST/2.0/user/example@example.com", "id" : "example@example.com", "type" : "user", "Name" : "user20" }, { "_url" : "http://<>/REST/2.0/user/example@example.com", "id" : "example@example.com", "type" : "user", "Name" : "user20" } ]
说明
单独使用fields[Requestor]=Name无效的原因是:该参数仅在关联对象被主动展开(通过expand或嵌套字段语法)时才会生效,否则API只会返回关联对象的基础引用信息,不会加载额外字段。
内容的提问来源于stack exchange,提问作者lcmj
相关产品推荐
相关产品推荐

