Правильный способ сделать запрос PATCH
Я использую ASP.Net Core 2. Мне нужно обновить пользователя в Azure AD с помощью API Microsoft Graph. В документации API говорится, что я должен отправить свойства пользователя в теле и указать пользователя в URL следующим образом:
https://graph.windows.net/myorganization/users/{user_id}? api-версия
В документации говорится, что это должен быть запрос PATCH. Но HTTPRequestMessage не принимает PATCH как HttpMethod. Как правильно сделать запрос PATCH с помощью ядра 2 asp.net?
Когда я Google, я нахожу, что все ответы предлагают использовать JsonPatch, но это формат, который не поддерживается Microsoft Graph API.
Это то, что я до сих пор....
var client = new HttpClient();
var requestUri = $"{_azureAdOptions.GraphInstance}/{_azureAdOptions.GraphVersion}/{_azureAdOptions.Domain}/users/me";
var request = new HttpRequestMessage(HttpMethod., requestUri);
var accessToken = await _authenticationHelper.GetAccessTokenAsync();
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.SendAsync(request);
var responseString = await response.Content.ReadAsStringAsync();
1 ответ
Учитывая характер Http
и безумие разработчиков, вы можете создать свой собственный http-сервер с помощью пользовательских методов. Класс HttpMethod был создан с учетом этого, что позволяет вам указать метод в виде строки:
var method = new HttpMethod("PATCH"); // Patch
var request = new HttpRequestMessage(method , requestUri); // Use patch
Примечание. Новая версия HttpClient поставляется с Patch
метод по умолчанию.