C #: Menggunakan Odata dengan Input Array di API
Oct 08 2020
Bagaimana cara membuat Odata bekerja dengan variabel Daftar? API berikut tidak berfungsi dan memberikan kesalahan.
HttpGet
Kesalahan: {"type": "https://tools.ietf.org/html/rfc7231#section-6.5.13", "title": "Jenis Media Tidak Didukung", "status": 415, "traceId": " 00-b0b48a41f445ac4bbcebba902f8cca95-a714db4f4fd0c146-00 "}
Semua API saya yang lain berfungsi,
"http: // localhost: 4547 / api / properties / GetIdentifierPaged"
Pengontrol:
[HttpGet[("[Action]")]
public ActionResult GetIdentifierPaged(List<string> propertyListRequest, ODataQueryOptions<PropertyDto> queryOptions)
{
propertyListRequest.Add("1110200100"); // fake data
var model = _propertyService.GetByPropertyIdentifierPaged(propertyListRequest).ToODataPageResult(queryOptions);
return Ok(model);
}
Layanan:
public IQueryable<PropertyDto> GetByPropertyIdentifierPaged(List<string> identifiers)
{
var identifiersEnumerable = identifiers.AsEnumerable();
var properties = _dataContext.Property
.Include(x => x.PropertyStatus)
Where(x => identifiersEnumerable.Contains(x.PropertyIdentifier))
return properties;
}
Hasil Halaman:
public static PageResult<T> ToODataPageResult<T>(this IQueryable<T> query, ODataQueryOptions<T> queryOptions)
{
var settings = new ODataQuerySettings();
settings.EnsureStableOrdering = false;
var countQuery = (IQueryable<T>)queryOptions.ApplyTo(query, settings, AllowedQueryOptions.Skip | AllowedQueryOptions.Top | AllowedQueryOptions.Select | AllowedQueryOptions.OrderBy);
long count = countQuery.Count();
var results = (IQueryable<T>)queryOptions.ApplyTo(query, settings, AllowedQueryOptions.None);
return new PageResult<T>(results, null, count);
}
Jawaban
go.. Oct 08 2020 at 12:11
Masalah ini menunjukkan bahwa ada masalah dengan permintaan Anda, tetapi meskipun Anda datang untuk menanggapinya, ada kesalahan yang akan Anda terima. Anda tidak dapat memberikan nilai bahwa sesi terbuka sebagai tanggapan
return new PageResult<T>(**results.ToList()**, null, count);
Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'