1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/seen-well-MQuery

Клонировать/Скачать
README.md 2.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 02.06.2025 06:55 d31a3cb

MQuery

Что вы можете сделать с помощью MQuery?

С помощью MQuery можно с минимальным количеством кода создать простые запросы к любому полю в ASP.NET Core WebApi, например,

Исходные данные

[
    { "id": 1, "username": "Alice", "age": 18, "country": "USA" },
    { "id": 2, "username": "Bob", "age": 20, "country": "UK" },
    { "id": 3, "username": "Carl", "age": 47, "country": "Canada" },
    { "id": 4, "username": "Daniel", "age": 50, "country": "USA" },
    { "id": 5, "username": "Eva", "age": 35, "country": "Poland" },
    { "id": 6, "username": "Fiona", "age": null, "country": "Russia" },
]

Запрос данных с username "Alice"

{your-api-path}?username=Alice

Результат

[
    { "id": 1, "username": "Alice", "age": 18, "country": "USA" },
]

Подробная синтаксис

Как использовать

Использование MQuery в ASP.NET Core WebApi

Startup.cs


public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers(options =>
    {
        options.AddMQuery(o =>
        {
            o.DefaultLimit = 50; // Установка значения по умолчанию для пагинации
            o.MaxLimit = 50; // Установка максимального значения для пагинации
        });
    });
}

BlogsController.cs

[HttpGet("api/blogs")]
public ActionResult<IEnumerable<Blog>> Query(Query<Blog> query)
{
    return query.ApplyTo(db.Blogs).ToList();
}

Вы также можете выполнять отдельные фильтрации, сортировку и пагинацию

Отдельная фильтрация

query.FilterTo(blogs);

Отдельная сортировка

query.SortTo(blogs);

Отдельная пагинация

query.SliceTo(blogs);

Создание запроса из строки

var query = new QueryParser<Foo>().Parse("name[$ne]=Alice&age[$gte]=18&age[$lt]=40&$sort[age]=-1&$skip=1&$limit=2");

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/seen-well-MQuery.git
git@api.gitlife.ru:oschina-mirror/seen-well-MQuery.git
oschina-mirror
seen-well-MQuery
seen-well-MQuery
master