Там объект запроса и получение типа содержимого запроса легко. Но как вы определяете тип контента для ответа? Мой контроллер выглядит так (другие действия вырезаны для краткости):
public class AuditController : ApiController
{
// GET api/Audit/CSV
[HttpGet, ActionName("CSV")]
public string Csv(Guid sessionId, DateTime a, DateTime b, string predicate)
{
var result = new StringBuilder();
//build a string
return result.ToString();
}
}
Это работает отлично, за исключением того, что у него неправильный тип контента. Я бы хотел сделать это
Response.ContentType = "text/csv";
Небольшое исследование показывает, что мы можем ввести действие, чтобы вернуть HttpResponseMessage. Итак, конец моего метода будет выглядеть так:
var response = new HttpResponseMessage() ;
response.Headers.Add("ContentType","text/csv");
response.Content = //not sure how to set this
return response;
Документация по HttpContent довольно скудная, может ли кто-нибудь сообщить мне, как получить содержимое моего StringBuilder в объект HttpContent?