Asp.Net 10 Дополнительный контент возвращается в результате jsonC#

Место общения программистов C#
Ответить
Anonymous
 Asp.Net 10 Дополнительный контент возвращается в результате json

Сообщение Anonymous »

Я конвертирую существующее приложение WebApi 2/MVC 5 в .Net 10 MVC/WebApi.
Я могу вернуть содержимое json, но если я посмотрю в Fiddler, то обнаружите дополнительные данные до и после фактического результата json.
Действие контроллера выглядит так:

Код: Выделить всё

[ProducesResponseType(StatusCodes.Status200OK),
ProducesResponseType(StatusCodes.Status400BadRequest),
ProducesResponseType(StatusCodes.Status404NotFound),
HttpGet("", Name = ApiRouteNames.BatchStatus)]
public IActionResult GetBatchStatus([FromQuery] Guid batchId) {
if (batchId == Guid.Empty) {
return BadRequest(new Error { Message = "Invalid batchId" });
}

try {
return Ok(new Statuses(statusListFactory.GetStatuses(batchId)));
} catch (Exception ex) {
return NotFound(new Error { Message = "Could not find specified request" });
}
}
Модель ошибок (которая имеет ту же проблему, что и модель статусов

Код: Выделить всё

public sealed class Error {
public string Message { get; set; } = string.Empty;
}
Ответ будет выглядеть следующим образом

Код: Выделить всё

HTTP/1.1 404 Not Found
Content-Type: application/vnd.com.org.error+json; charset=utf-8
Date: Tue, 17 Feb 2026 13:20:09 GMT
Server: Kestrel
Transfer-Encoding: chunked
2e
{"Message":"Could not find specified request"}
0
Обратите внимание на «2e» и «0» до и после фактического JSON. Я использую SystemTextJsonOutputFormatter.
Как мне получить «2e» и «0» из тела ответа? Он должен содержать только возвращенный мной объект JSON. Не всегда возвращаются «2e» и «0», похоже, они меняются в зависимости от возвращаемых конкретных данных. Хотя я не знаю, откуда это взялось.

Подробнее здесь: https://stackoverflow.com/questions/798 ... son-result
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»