Поддерживает ли proget запросы OData для тегов?
Я пытаюсь запросить сервер proget с помощью API Nuget.Core. Этот метод:
using System.IO.Packaging;
public IEnumerable<IPackage> GetAllProgramPackages(string feedUrl)
{
var repository = PackageRepositoryFactory.Default.CreateRepository(feedUrl);
var query = repository.GetPackages();
var programPackages = query.Where(p => p.Tags.Contains("ClientPackage"));
return programPackages;
}
Должен, насколько я понимаю, возвращать только пакеты, в которых теги содержат "ClientPackage". На самом деле он возвращает весь репозиторий, что нежелательно. Я всегда мог отфильтровать на стороне клиента после возврата запроса, но с парой тысяч пакетов nuget в нашем репозитории это не было бы хорошим вариантом.
Можно ли выполнить запрос OData для тегов к серверу proget и выполнить ли он на стороне сервера?
1 ответ
Да, вы можете отфильтровать любое свойство на substringof
совпадать (аналогично Contains()
в C#). Просто используйте:
http://proget/nuget/Default/Packages()?$filter=substringof(tags,'ClientPackage')