Надлежащая практика
Как создать отдых функцию апи, которая попросить заголовок, и тело, и какое содержание собираются установить в заголовке и то, что содержимое будет в теле?Как создать функцию, которая запросить заголовок и тело в заднем конце с # REST APIи как назвать эту функцию? (Программно)
-3
A
ответ
0
Предполагая, что вы используете WebClient для доступа к ресурсу REST в вопросе, вы можете передать WebClient и установить его заголовки в способе, как это:
public static void AddBasicAuthRequestHeaders(WebClient webClient, string userId, string password) { webClient.Headers.Add("Content-Type", "application/json"); webClient.Headers.Add("Accept", "application/json"); webClient.Headers.Add("Authorization", "Basic " + Helper.Base64EncodeString(string.Format("{0}:{1}", userId, password)) + ""); }
Поскольку тело запроса передается WebClient, когда он используется, вам не нужно передавать ссылку клиенту в методе, который формирует тело запроса.
public static string BuildRequestBody(){
return "{\"Value\":\"?$filter=Name eq '" + objectName + "'&$select=Id\"}";}
Затем вы можете использовать их следующим образом:
using (WebClient webClient = new WebClient())
{
bool isSuccessful = false;
string requestBody = BuildRequestBody();
AddBasicAuthRequestHeaders(webClient, "myUser", "myPwd");
try
{
string responseString = webClient.UploadString(resourceUrl, requestBody);
JArray responseArray = JArray.Parse(responseString);
isSuccessful = (bool)responseArray[0]["IsSuccessful"];
if (isSuccessful)
{
objectId = (int)responseArray[0]["RequestedObject"]["Id"];
}
}
catch (Exception ex)
{
string logMessage = string.Format("Error retrieving Id for object {0}. Exception: {1}\r\nDetails:{2}", objectName, ex.Message, ex.StackTrace);
Helper.Log(LogLevel.Error, logMessage);
throw (ex);
}
}
return objectId;
спасибо, но мой вопрос о фоновым, как запрограммировать эту функцию? как установить его получает параметры «header» и «body» в C# – angel