Исходный 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();
}
}
Подробнее здесь: https://stackoverflow.com/questions/750 ... sp-net-api
Мобильная версия