Refit - POST составной формат CSV возвращает формат JSON - PullRequest
0 голосов
/ 19 сентября 2018

Я довольно новичок в использовании 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, который по какой-то причине не выбирается.

...