Refit: есть ли способ отправить список сложных объектов в запросе - PullRequest
1 голос
/ 05 ноября 2019

Попытка отправить запрос с помощью Refit на контроллер:

[HttpGet("api/users/{userId}/appointments")]
public async Task Get(Guid userId, [FromQuery] FilterRow[] filters = null) {}

Добавлен интерфейс с этим методом:

[Get("/api/users/{userId}/appointments")]
Task<IEnumerable> Get([AliasAs("userId")] Guid userId, [AliasAs("filters")] FilterRow[] filters);

FilterRow:

public class FilterRow
{
    public string FieldName { get; set; }
    public string FilterValue { get; set; }
    public FilterCondition FilterCondition { get; set; }
}

public enum FilterCondition
{
    Equals = 0,
    LessThan = 1,
    LessThanOrEqual = 2,
    GreaterThan = 3,
    GreaterThanOrEqual = 4,
    NotEquals = 5
}

Попытался добавитьRefitUrlParameterFormatter. Но к его функции Format относятся отдельные значения от этого объекта. Решил это, используя IFormattable для этого объекта, но даже с этим он не работал правильно (Контроллер не получил никаких значений)

...