Возврат массива байтов из вызова GET в API ASP.NET [дубликат]C#

Место общения программистов C#
Ответить
Anonymous
 Возврат массива байтов из вызова GET в API ASP.NET [дубликат]

Сообщение Anonymous »

Я пытался воссоздать существующий API для целей тестирования.
Исходный API возвращает XML, представленный в виде массива байтов.
Я уже смоделировал свой GET XML ответа, чтобы он выглядел как оригинал, и теперь я пытаюсь отобразить его как массив байтов, но проблема, с которой я сталкиваюсь, заключается в том, что при вызове моего API из Postman результатом является строка в кодировке Base64.
Мой Метод GET читает строки из таблицу SQL через Dapper в созданную мной модель.
Мой текущий код:

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

    //[Produces("application/xml")]
[ApiController]
[Route("[controller]")]
public class UserController : ControllerBase
{
[Route("{employeeID?}")]
[HttpGet]
public byte[] Get(int? employeeID = null)
{
using (SqlConnection con = new SqlConnection(_connectionString))
{
con.Open();

employees = con.Query(query, (emp, empData) => {
emp.EmploymentData = empData;
return emp;
}, splitOn: "CompanyID");
}

GetResponse response = new GetResponse()
{
Employees = (List)employees,
ErrorCode = null,
ErrorMessage = null,
InputParameterErrors = null,
ResultInfo = new ResultInfo()
{
ResultDateTime = DateTime.Now,
EmployeeCount = employees.Count()
}
};

byte[] bytes = ObjectToByteArray(response);
return bytes;
}

public static byte[] ObjectToByteArray(Object obj)
{
BinaryFormatter bf = new BinaryFormatter();
using (var ms = new MemoryStream())
{
bf.Serialize(ms, obj);
return ms.ToArray();
}
}
Я уже пробовал [Produces("application/octet-stream")] вместо application/xml, но в Postman получаю сообщение 406 Not Acceptable.

Подробнее здесь: https://stackoverflow.com/questions/750 ... sp-net-api
Ответить

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

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

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

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

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