簡體   English   中英

RestSharp-.AddParameter是否添加到POST請求的標頭或正文中?

[英]RestSharp - Does .AddParameter add to the Header or the Body for a POST request?

嘗試確定RestSharp的AddParameter方法是否將參數添加到方法POST的正文或請求的標頭中。

            var request = new RestRequest("/token", Method.POST);

            request.RequestFormat = DataFormat.Json;
            request.AddParameter("grant_type", "password");
            request.AddParameter("client_id", client_id);
            request.AddParameter("client_secret", client_secret);
            request.AddParameter("username", username);
            request.AddParameter("password", password);

如果發送標頭,則由於API提供商即將發生更改,我們的API調用將開始失敗。

我該如何確定?

自述文件中的示例所示,RestSharp提供了一個單獨的AddHeader方法,用於將數據添加到請求標頭。

根據此答案, AddParameter將添加具有GetOrPost類型的參數,如果是GET請求,它將添加查詢參數,如果是POST請求,則將添加項目到請求正文中。

您可以在其中提供參數名稱和參數值的AddParameter方法的來源, 這里您可以看到傳入的類型為ParameterType.GetOrPost

對於后代,目前的來源是:

/// <summary>
/// Add the parameter to the request
/// </summary>
/// <param name="p">Parameter to add</param>
/// <returns></returns>
public IRestRequest AddParameter(Parameter p) => this.With(x => x.Parameters.Add(p));

/// <summary>
/// Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT)
/// </summary>
/// <param name="name">Name of the parameter</param>
/// <param name="value">Value of the parameter</param>
/// <returns>This request</returns>
public IRestRequest AddParameter(string name, object value)
    => AddParameter(new Parameter(name, value, ParameterType.GetOrPost));

作為額外的信息,可在此處獲得AddHeader方法的源以及有關如何處理這些HttpHeader參數類型的文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM