Можете ли вы отключить @, который добавляет все свойства, возвращаемые Domino Data Service в 8.5.3 - PullRequest
2 голосов
/ 03 февраля 2012

Для Domino Data Services, который является новым с 8.53 и библиотекой расширений XPages, я хочу отключить @, который добавляет все свойства, которые возвращаются в данных JSON из вызова REST API.

, например, в настоящее времяэто выглядит так:

  "@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-фреймворках, которые могут напрямую связываться с данными, поскольку вы не можете использовать точечную запись для привязки к отдельным именам свойств, если включить @.

Я пытаюсь использовать структуру http://angularjs.org/, и пример привязки может быть

{{database. @ Title}} <- не работает, тогда как {{database.title}} <- works </p>

Я отметил это как XPages, так как оно связано с библиотекой расширений.

1 Ответ

5 голосов
/ 04 февраля 2012

Имена атрибутов задаются в классе com.ibm.domino.services.rest.RestServiceConstants элемента extlib, например:

...
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$
...

Так как они являются открытыми статическими финальными строками, вам придется расширять DAS и использовать ваши расширенные классы.

Однако я полагаю, что вы должны иметь возможность доступа к атрибутам таким образом вместо точечной нотации:

database['@title']

Надеюсь, это поможет.

...