【问题标题】:Phorest REST API. CSV Export JobPhorest REST API。 CSV 导出作业
【发布时间】:2018-01-10 06:33:17
【问题描述】:

我目前正在开发一个从 Phorest API(https://developer.phorest.com/) 获取数据并将其放入数据库的 c# 服务。 我是 REST 新手,想知道如何在上面的链接中执行 POST 方法,该方法会创建一个 CSV,因为它有某种 JSON 正文要与它一起发送。我还尝试使用 Advanced REST Client 访问 CSVExportJob,但不确定我是否做对了。

我可以按如下方式执行 GET 命令。

 public ObjectMapper PullDataFromPhorest()
    {
        HttpClient client = new HttpClient();
        client.BaseAddress = new Uri(URL);

        client.DefaultRequestHeaders.Accept.Add(
        new MediaTypeWithQualityHeaderValue("application/json"));
        //client.DefaultRequestHeaders.Add("authorization","Basic xxxxxx");
        string formattedContent = "";

        HttpResponseMessage response = client.GetAsync(urlParameters).Result;  
        if (response.IsSuccessStatusCode)
        {


            string content = response.Content.ReadAsStringAsync().Result;
            dataObject = JsonConvert.DeserializeObject<ObjectMapper>(content);
            for (int i = 0; i < dataObject._embedded.branches.Length; i++)
            {
                formattedContent += "Branch ID: " + dataObject._embedded.branches[i].branchId.ToString() + " Branch Name: " + dataObject._embedded.branches[i].name.ToString() + "\n\n\n";
            }
        }
        else
        {

        }
        return dataObject;
    }

【问题讨论】:

    标签: c# json rest


    【解决方案1】:

    您可以执行以下操作来发布 JSON 数据:

    var url = "http://some-url.com";
    
    var post_data = new
    {
        field1 = "field1",
        field2 = "field2"
    };
    
    var client = new HttpClient();
    var json = new StringContent(JsonConvert.SerializeObject(post_data), Encoding.UTF8, "application/json");
    var response = client.PostAsync(url, json).Result;
    
    if (response.IsSuccessStatusCode)
    {
        // All good
    }
    

    这使用 Newtonsoft.Json 库 (https://www.newtonsoft.com/json)

    【讨论】:

    • 既然您正确回答了问题,我想知道您是否知道如何处理返回的链接。它看起来像这样。 eu1-mem.s3-eu-west-1.amazonaws.com/mem-prd/business/…。 &X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20180110T111408Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1799&X-Amz-Credential=ASIAJZQ6CH3SXRZO3WRA%2F20180110%2Feu-west-1%2Fs3%2Faws4 Signature=8badf9b (不是完整链接)但我不知道如何处理它。当我把它放在浏览器中时。亚马逊 AWS 说 NoSuchKey。
    • 嗨,萨布里。不幸的是,我不知道如何处理该链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多