Получение устройства по указанному iccid в cumulocity? - PullRequest
0 голосов
/ 16 октября 2019

У меня есть устройства в Cumulocity с фрагментом «Мобильный» в них. Я хотел бы получить информацию об устройстве, указав iccid, который является частью фрагмента «Mobile». Сейчас я выполняю поиск в инвентаре на основе фильтра: InventoryFilter inventoryFilter = new InventoryFilter (). ByFragmentType (Mobile.class);

, а затем проверяю, соответствует ли значение iccid в найденных устройствах требуемому. Но я бы хотел как-то указать iccid в поиске.

Возможно ли это и если да - как это сделать?

1 Ответ

1 голос
/ 18 октября 2019

Да, это возможно. Вам необходимо определить пользовательский запрос, аналогичный запросу, который вы будете использовать с помощью обычного вызова API:

...?query=$filter=c8y_Mobile.iccid eq '<<your-iccid>>'

В Java вы можете иметь собственный класс фильтра для этого:

public class CustomInventoryFilter extends InventoryFilter {

@ParamSource
private String query;

public CustomInventoryFilter byQuery(final String query) {
    this.query = query;
    return this;
}

Вместо InventoryFilter.class вы используете этот пользовательский класс и добавляете тот же запрос, что и выше, в .byQuery("c8y_Mobile.iccid eq '<<your-iccid>>'")

...