Mam ODataController, który zwraca wartość PageResult.Jak mogę uniknąć 406 podczas odbierania OData.PageResult <T>?
Api Przykład:
public PageResult<Customer> Get(ODataQueryOptions options) {
// cut some stuff out...
PageResult<Customer> result = new PageResult<Customer>(
searchResults as IEnumerable<Customer>,
Request.GetNextPageLink(),
Request.GetInlineCount());
return result;
Kiedy debugowania to wydaje się być w porządku i mieć klasę PageResult zbudowany prawidłowo, aby powrócić. Na stronie internetowej ..
Web Przykład
using (var client = new HttpClient()) {
client.BaseAddress = new Uri(testURL);
string searchUrl = "api/customer?$top=1&$skip=0";
client.DefaultRequestHeaders.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json;odata=verbose"));
HttpResponseMessage response = client.GetAsync(searchUrl).Result;
Odpowiedź jest StatusCode 406, z powodu wyrażenia stwierdzającego treść była nie do przyjęcia. Robi to również, jeśli zdefiniuję nową MediaTypeWithQualityHeaderValue ("application/json").
Co muszę zmienić, aby pomyślnie wykorzystać tę api w kontrolerze przed przekazaniem go do widoku?