В моем решении я реализовал Java-клиент, который использует REST API, реализованный с использованием JSONAPIDOTNETCORE.
Вот фрагмент кода Java, который вызывает REST API
response = client
.resource(
CreateURLWithFilters(API_BASE_URL,
"?page[size]=100&filter[endDate]=ge:"))
.accept("application/json")
.type("application/vnd.api+json")
.header(HttpHeaders.AUTHORIZATION, "Bearer " + token)
.get(ClientResponse.class);
Я использую параметры запроса фильтра, поддерживаемые JSON API, чтобы получить желаемое поведение.
Я бы хотел, чтобы JSON API фильтровал нулевое значение. Например
"?page[size]=100&filter[endDate]=eq:null"
Не уверен, что базовая библиотека JSONAPIDOTNET поддерживает этот тип операций. Или мы могли бы реализовать фильтрацию для нулевых значений внутри базовой библиотеки jsonapidotnet.
Например, запрос JSONAPI без параметров фильтра даст мне этот результат
[{"attributes":{"endDate":"2018-05-31T00:00:00","id":2,"priority":1,"message":"testing today ","propertyId":1,"roomId":null,"startDate":"2018-05-16T00:00:00","dateModifiedUtc":"2018-05-16T10:58:42.493"},"id":"2","type":"notices"}]
Я бы хотел отфильтровать только те, в которых enddate равен нулю
[{"attributes":{"endDate":null,"id":1,"priority":1,"message":"wrewr","propertyId":1,"roomId":null,"startDate":"2018-05-16T00:00:00","dateModifiedUtc":"2018-05-16T10:38:22.727"},"id":"1","type":"notices"}