Поддерживает ли ODataLib для OData V4 полезную нагрузку Atom в запросах?
Я пытаюсь использовать ODataLib для протокола OData V4 (Microsoft.OData.Core) для создания полезной нагрузки в формате Atom. Я гарантировал, что заголовки Content-Type и Accept ссылаются на application/atom+xml, однако вызов CreateODataEntryWriter всегда приводит к исключению:
Microsoft.OData.Core.ODataContentTypeException: не удалось найти поддерживаемый тип MIME, который соответствует допустимым типам MIME для запроса. Поддерживаемый тип (типы) 'application/json;odata.metadata= минимальный;odata.streaming=true;IEEE754Compatible=false, application/json;odata.metadata= минимальный;odata.streaming=true;IEEE754Compatible=true, application/json;odata.metadata= минимальный;odata.streaming=true, application/json;odata.metadata= минимальный;odata.streaming=false;IEEE754Compatible=false, application/json;odata.metadata= минимальный;odata.streaming=false;IEEE754Compatible=true, application/json;odata.metadata= минимальный;odata.streaming=false, application/json;odata.metadata= минимальный; IEEE754Compatible = false, application / json; odata.metadata = минимальный; IEEE754Compatible = true, application / json; odata.metadata = минимальный, application / json; odata.metadata = полный;odata.streaming=true;IEEE754Compatible=false, application/json;odata.metadata=full;odata.streaming=true;IEEE754Compatible=true, application/json;odata.metadata=full;odata.streaming=true, application/json;odata.metadata=full;odata.streaming=false;IEEE754Compatible=false, application/json;odata.metadata=full;odata.streaming=false;IEEE754Compatib...'не соответствуют ни одному из допустимых типов MIME'application/atom+xml'.
Вот пример кода, который вызывает исключение:
var writerSettings = new ODataMessageWriterSettings();
writerSettings.SetContentType(ODataFormat.Atom);
var messageWriter = new ODataMessageWriter(request, writerSettings, model);
var entryWriter = messageWriter.CreateODataEntryWriter();
Я проверил код библиотеки и обнаружил, что ODataMessageWriterSettings имеет свойство EnableAtom, но это свойство объявлено как внутреннее, и оно, похоже, не устанавливается внутри библиотеки, поэтому похоже, что оно всегда ложно. Я знаю, что формат Atom устарел в OData V4, поддерживается ли он для создания входной полезной нагрузки?
1 ответ
ATOM отключен с момента выпуска DataLib 6.3.0, см. Примечание к выпуску. На самом деле, вы могли бы использовать ODataLib до выпуска 6.3 для создания полезной нагрузки ATOM, но новые функции в V4 могут не поддерживаться.