执行 PATCH 请求的正确方法
Proper way to do a PATCH request
我正在使用 ASP.Net Core 2。我需要使用 Microsofts Graph API 更新 Azure AD 中的用户。 API 文档指出我应该在正文中发送用户的属性并在 URL 中指定用户,如下所示:
https://graph.windows.net/myorganization/users/{user_id}?api-version
文档指出它应该是 PATCH 请求。但是 HTTPRequestMessage 不接受 PATCH 作为 HttpMethod。使用 asp.net 核心 2 发出 PATCH 请求的正确方法是什么?
当我 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();
考虑到 Http
的性质和开发人员的疯狂程度,您可以使用自定义方法创建自己的 http 服务器。创建 class HttpMethod 时考虑到了这一点,允许您将方法指定为字符串:
var method = new HttpMethod("PATCH"); // Patch
var request = new HttpRequestMessage(method , requestUri); // Use patch
注意:HttpClient新版本默认自带Patch
方法
我正在使用 ASP.Net Core 2。我需要使用 Microsofts Graph API 更新 Azure AD 中的用户。 API 文档指出我应该在正文中发送用户的属性并在 URL 中指定用户,如下所示:
https://graph.windows.net/myorganization/users/{user_id}?api-version
文档指出它应该是 PATCH 请求。但是 HTTPRequestMessage 不接受 PATCH 作为 HttpMethod。使用 asp.net 核心 2 发出 PATCH 请求的正确方法是什么?
当我 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();
考虑到 Http
的性质和开发人员的疯狂程度,您可以使用自定义方法创建自己的 http 服务器。创建 class HttpMethod 时考虑到了这一点,允许您将方法指定为字符串:
var method = new HttpMethod("PATCH"); // Patch
var request = new HttpRequestMessage(method , requestUri); // Use patch
注意:HttpClient新版本默认自带Patch
方法