Я довольно новичок в использовании Refit вместе с C #, у меня есть несколько проблем с POST в формате данных CSV.
Я создал метод Refit POST для публикации формата CSV в виде:
[Multipart]
[Post("/async-job?uploadType=multipart")]
Task<AsyncJobPostResponse> Post([Header("Authorization")] string token
, string entity_type, string file_format, byte[] file);`
и POST it:
private static IRetailApi CreateTClient(string ApiRootUrl)
{
var tClient = RestService.For<IRetailApi>(new HttpClient
{
BaseAddress = new Uri(ApiRootUrl),
Timeout = TimeSpan.FromMinutes(5) /*time out for large dataset*/
},
new RefitSettings
{
JsonSerializerSettings = new JsonSerializerSettings { Converters = { new StringEnumConverter() }, Formatting = Formatting.Indented }
});
return tClient;
}
private void TPostStore(string token, string TApiRootUrl, int pastDays, Program pObj)
{
--gets CSV formated data--
string storeCSV = pObj.TNPRepo.GetTStoreCSVString(pastDays);
byte[] array = Encoding.ASCII.GetBytes(storeCSV);
var TClient = CreateTClient(ApiRootUrl);
var r2 = TClient.Post(token, "store", "CSV", array).Result;
timer.Stop();
Logger.InfoFormat("Request took time : {0}", timer.Elapsed);
}
POST успешен и отправляет CSV справа, но если я просматриваю сгенерированный проанализированный файл, данные в формате JSON, который даже преобразует несколько'double' напечатали значения в 'string' с кавычками, которые я изо всех сил пытаюсь изменить.Я пытался создать клиентский JSONConverter, который по какой-то причине не выбирается.