对于 8.53 中新增的 Domino Data Services 和 XPages Extension 库,我想关闭 @,它会在 REST API 调用的 JSON 数据中返回的所有属性前面加上 @。
例如目前它看起来像这样:
"@title":"($DircatConfig)",
"@folder":false,
"@private":false,
"@modified":"2012-02-03T14:50:03Z",
"@unid":"50458575F2AA5F918525690D004F0AB5",
"@href":"http:\/\/192.168.1.30:80\/names.nsf\/api\/data\/collections\/unid\/50458575F2AA5F918525690D004F0AB5"
@ 符号在 Javascript 框架中让我感到悲伤,它可以直接绑定(bind)到数据,因为如果包含 @,则无法使用点符号绑定(bind)到单个属性名称。
我正在尝试的框架是 http://angularjs.org/绑定(bind)示例可能是
{{databases.@title}} <-- 不起作用,而 {{databases.title}} <-- 起作用
我已将其标记为 XPages,因为它与扩展库相关。
最佳答案
属性名称在 extlib 的 com.ibm.domino.services.rest.RestServiceConstants 类中设置,例如:
...
public static final String ATTR_UNID = "@unid"; //$NON-NLS-1$
public static final String ATTR_NOTEID = "@noteid"; //$NON-NLS-1$
public static final String ATTR_LINK = "@link"; //$NON-NLS-1$
public static final String ATTR_LINK_REL = "rel"; //$NON-NLS-1$
public static final String ATTR_LINK_HREF = "href"; //$NON-NLS-1$
...
由于它们是公共(public)静态最终字符串,因此您必须扩展 DAS 并使用您的扩展类。
但是我相信您应该能够以这种方式而不是点符号访问属性:
database['@title']
希望这有帮助。
关于lotus-domino - 您可以在 8.5.3 中关闭 Domino 数据服务返回的所有属性前面的@吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9133218/