IDownstreamApi.CallApiForUserAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
| Имя | Описание |
|---|---|
| CallApiForUserAsync(String, Action<DownstreamApiOptions>, ClaimsPrincipal, HttpContent, CancellationToken) |
Вызывает подчиненный API от имени пользователя, основываясь на описании нижестоящего API в конфигурации (имени службы), переопределяется программным способом. Это API более низкого уровня. Существуют другие API для определенных методов Http. |
| CallApiForUserAsync<TInput,TOutput>(String, TInput, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken) |
Вызывает подчиненный API, использующего JSON с некоторыми данными, и возвращает данные. |
| CallApiForUserAsync<TInput,TOutput>(String, TInput, JsonTypeInfo<TInput>, JsonTypeInfo<TOutput>, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken) |
Вызывает подчиненный API, использующего JSON с некоторыми данными, и возвращает данные. |
| CallApiForUserAsync<TOutput>(String, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken) |
Вызовите конечную точку веб-API с помощью HttpGet и верните строго типизированные данные. |
| CallApiForUserAsync<TOutput>(String, JsonTypeInfo<TOutput>, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken) |
Вызовите конечную точку веб-API с помощью HttpGet и верните строго типизированные данные. |
CallApiForUserAsync(String, Action<DownstreamApiOptions>, ClaimsPrincipal, HttpContent, CancellationToken)
Вызывает подчиненный API от имени пользователя, основываясь на описании нижестоящего API в конфигурации (имени службы), переопределяется программным способом. Это API более низкого уровня. Существуют другие API для определенных методов Http.
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> CallApiForUserAsync(string? serviceName, Action<Microsoft.Identity.Abstractions.DownstreamApiOptions>? downstreamApiOptionsOverride = default, System.Security.Claims.ClaimsPrincipal? user = default, System.Net.Http.HttpContent? content = default, System.Threading.CancellationToken cancellationToken = default);
abstract member CallApiForUserAsync : string * Action<Microsoft.Identity.Abstractions.DownstreamApiOptions> * System.Security.Claims.ClaimsPrincipal * System.Net.Http.HttpContent * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function CallApiForUserAsync (serviceName As String, Optional downstreamApiOptionsOverride As Action(Of DownstreamApiOptions) = Nothing, Optional user As ClaimsPrincipal = Nothing, Optional content As HttpContent = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of HttpResponseMessage)
Параметры
- serviceName
- String
Имя службы, описывающей подчиненный веб-API. Существует несколько именованных разделов конфигурации, сопоставленных с одним DownstreamApiOptionsподчиненным API. Можно передать значение NULL, но в этом случае downstreamApiOptionsOverride необходимо задать.
- downstreamApiOptionsOverride
- Action<DownstreamApiOptions>
(Необязательно) Переопределяет параметры, предложенные в конфигурации, описанной в serviceNameэтой конфигурации.
- user
- ClaimsPrincipal
(Необязательно) Утверждения, представляющие пользователя. Это полезно на таких платформах, как Blazor или Azure Signal R, где httpContext недоступен. На других платформах библиотека найдет пользователя из контекста HTTP-запроса.
- content
- HttpContent
Содержимое для отправки в API в том случае, если HttpMethod это HttpMethod.Patch, Post. Put
- cancellationToken
- CancellationToken
Маркер отмены.
Возвращаемое значение
То HttpResponseMessage , что приложение будет обрабатывать.
Применяется к
CallApiForUserAsync<TInput,TOutput>(String, TInput, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken)
Вызывает подчиненный API, использующего JSON с некоторыми данными, и возвращает данные.
public System.Threading.Tasks.Task<TOutput?> CallApiForUserAsync<TInput,TOutput>(string? serviceName, TInput input, Action<Microsoft.Identity.Abstractions.DownstreamApiOptions>? downstreamApiOptionsOverride = default, System.Security.Claims.ClaimsPrincipal? user = default, System.Threading.CancellationToken cancellationToken = default) where TOutput : class;
abstract member CallApiForUserAsync : string * 'Input * Action<Microsoft.Identity.Abstractions.DownstreamApiOptions> * System.Security.Claims.ClaimsPrincipal * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Output (requires 'Output : null)> (requires 'Output : null)
Public Function CallApiForUserAsync(Of TInput, TOutput) (serviceName As String, input As TInput, Optional downstreamApiOptionsOverride As Action(Of DownstreamApiOptions) = Nothing, Optional user As ClaimsPrincipal = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TOutput)
Параметры типа
- TInput
Тип входных данных.
- TOutput
Тип вывода.
Параметры
- serviceName
- String
Имя службы, описывающей подчиненный API. Существует несколько именованных разделов конфигурации, сопоставленных с одним DownstreamApiOptionsподчиненным API. Можно передать значение NULL, но в этом случае downstreamApiOptionsOverride необходимо задать.
- input
- TInput
Входной параметр для нижестоящего веб-API.
- downstreamApiOptionsOverride
- Action<DownstreamApiOptions>
Переопределяет параметры, предложенные в конфигурации, описанной в serviceNameэтой конфигурации.
- user
- ClaimsPrincipal
[Необязательно] Утверждения, представляющие пользователя. Это полезно на платформах, таких как Blazor или Azure Signal R, где HttpContext недоступен. На других платформах библиотека найдет пользователя из HttpContext.
- cancellationToken
- CancellationToken
Маркер отмены.
Возвращаемое значение
Значение, возвращаемое нижестоящим веб-API.
Примеры
Метод списка, возвращающий IEnumerable<MyItem>>.
public Task<IEnumerable<MyItem>> GetAsync()
{
return _downstreamWebApi.CallWebApiForUserAsync<object, IEnumerable<MyItem>>(
ServiceName,
null,
options =>
{
options.RelativePath = $"api/todolist";
});
}
Пример редактирования.
public Task<MyItem> EditAsync(MyItem myItem)
{
return _downstreamWebApi.CallWebApiForUserAsync<MyItem, MyItem>(
ServiceName,
nyItem,
options =>
{
options.HttpMethod = HttpMethod.Patch;
options.RelativePath = $"api/todolist/{myItem.Id}";
});
}
Применяется к
CallApiForUserAsync<TInput,TOutput>(String, TInput, JsonTypeInfo<TInput>, JsonTypeInfo<TOutput>, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken)
Вызывает подчиненный API, использующего JSON с некоторыми данными, и возвращает данные.
public System.Threading.Tasks.Task<TOutput?> CallApiForUserAsync<TInput,TOutput>(string? serviceName, TInput input, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TInput> inputJsonTypeInfo, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TOutput> outputJsonTypeInfo, Action<Microsoft.Identity.Abstractions.DownstreamApiOptions>? downstreamApiOptionsOverride = default, System.Security.Claims.ClaimsPrincipal? user = default, System.Threading.CancellationToken cancellationToken = default) where TOutput : class;
abstract member CallApiForUserAsync : string * 'Input * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Input> * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Output (requires 'Output : null)> * Action<Microsoft.Identity.Abstractions.DownstreamApiOptions> * System.Security.Claims.ClaimsPrincipal * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Output (requires 'Output : null)> (requires 'Output : null)
Public Function CallApiForUserAsync(Of TInput, TOutput) (serviceName As String, input As TInput, inputJsonTypeInfo As JsonTypeInfo(Of TInput), outputJsonTypeInfo As JsonTypeInfo(Of TOutput), Optional downstreamApiOptionsOverride As Action(Of DownstreamApiOptions) = Nothing, Optional user As ClaimsPrincipal = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TOutput)
Параметры типа
- TInput
Тип входных данных.
- TOutput
Тип вывода.
Параметры
- serviceName
- String
Имя службы, описывающей подчиненный API. Существует несколько именованных разделов конфигурации, сопоставленных с одним DownstreamApiOptionsподчиненным API. Можно передать значение NULL, но в этом случае downstreamApiOptionsOverride необходимо задать.
- input
- TInput
Входной параметр для нижестоящего веб-API.
- inputJsonTypeInfo
- JsonTypeInfo<TInput>
Метаданные сериализации JSON для TInput
- outputJsonTypeInfo
- JsonTypeInfo<TOutput>
Метаданные сериализации JSON для TOutput
- downstreamApiOptionsOverride
- Action<DownstreamApiOptions>
Переопределяет параметры, предложенные в конфигурации, описанной в serviceNameэтой конфигурации.
- user
- ClaimsPrincipal
[Необязательно] Утверждения, представляющие пользователя. Это полезно на платформах, таких как Blazor или Azure Signal R, где HttpContext недоступен. На других платформах библиотека найдет пользователя из HttpContext.
- cancellationToken
- CancellationToken
Маркер отмены.
Возвращаемое значение
Значение, возвращаемое нижестоящим веб-API.
Примеры
Метод списка, возвращающий IEnumerable<MyItem>>.
public Task<IEnumerable<MyItem>> GetAsync()
{
return _downstreamWebApi.CallWebApiForUserAsync<object, IEnumerable<MyItem>>(
ServiceName,
null,
options =>
{
options.RelativePath = $"api/todolist";
});
}
Пример редактирования.
public Task<MyItem> EditAsync(MyItem myItem)
{
return _downstreamWebApi.CallWebApiForUserAsync<MyItem, MyItem>(
ServiceName,
nyItem,
options =>
{
options.HttpMethod = HttpMethod.Patch;
options.RelativePath = $"api/todolist/{myItem.Id}";
});
}
Применяется к
CallApiForUserAsync<TOutput>(String, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken)
Вызовите конечную точку веб-API с помощью HttpGet и верните строго типизированные данные.
public System.Threading.Tasks.Task<TOutput?> CallApiForUserAsync<TOutput>(string serviceName, Action<Microsoft.Identity.Abstractions.DownstreamApiOptions>? downstreamApiOptionsOverride = default, System.Security.Claims.ClaimsPrincipal? user = default, System.Threading.CancellationToken cancellationToken = default) where TOutput : class;
abstract member CallApiForUserAsync : string * Action<Microsoft.Identity.Abstractions.DownstreamApiOptions> * System.Security.Claims.ClaimsPrincipal * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Output (requires 'Output : null)> (requires 'Output : null)
Public Function CallApiForUserAsync(Of TOutput As Class) (serviceName As String, Optional downstreamApiOptionsOverride As Action(Of DownstreamApiOptions) = Nothing, Optional user As ClaimsPrincipal = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TOutput)
Параметры типа
- TOutput
Тип вывода.
Параметры
- serviceName
- String
Имя службы, описывающей подчиненный API. Существует несколько именованных разделов конфигурации, сопоставленных с одним DownstreamApiOptionsподчиненным API. Можно передать значение NULL, но в этом случае downstreamApiOptionsOverride необходимо задать.
- downstreamApiOptionsOverride
- Action<DownstreamApiOptions>
Переопределяет параметры, предложенные в конфигурации, описанной в serviceNameэтой конфигурации.
- user
- ClaimsPrincipal
[Необязательно] Утверждения, представляющие пользователя. Это полезно на платформах, таких как Blazor или Azure Signal R, где HttpContext недоступен. На других платформах библиотека найдет пользователя из HttpContext.
- cancellationToken
- CancellationToken
Маркер отмены.
Возвращаемое значение
Значение, возвращаемое нижестоящим веб-API.
Применяется к
CallApiForUserAsync<TOutput>(String, JsonTypeInfo<TOutput>, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken)
Вызовите конечную точку веб-API с помощью HttpGet и верните строго типизированные данные.
public System.Threading.Tasks.Task<TOutput?> CallApiForUserAsync<TOutput>(string serviceName, System.Text.Json.Serialization.Metadata.JsonTypeInfo<TOutput> outputJsonTypeInfo, Action<Microsoft.Identity.Abstractions.DownstreamApiOptions>? downstreamApiOptionsOverride = default, System.Security.Claims.ClaimsPrincipal? user = default, System.Threading.CancellationToken cancellationToken = default) where TOutput : class;
abstract member CallApiForUserAsync : string * System.Text.Json.Serialization.Metadata.JsonTypeInfo<'Output (requires 'Output : null)> * Action<Microsoft.Identity.Abstractions.DownstreamApiOptions> * System.Security.Claims.ClaimsPrincipal * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Output (requires 'Output : null)> (requires 'Output : null)
Public Function CallApiForUserAsync(Of TOutput As Class) (serviceName As String, outputJsonTypeInfo As JsonTypeInfo(Of TOutput), Optional downstreamApiOptionsOverride As Action(Of DownstreamApiOptions) = Nothing, Optional user As ClaimsPrincipal = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TOutput)
Параметры типа
- TOutput
Тип вывода.
Параметры
- serviceName
- String
Имя службы, описывающей подчиненный API. Существует несколько именованных разделов конфигурации, сопоставленных с одним DownstreamApiOptionsподчиненным API. Можно передать значение NULL, но в этом случае downstreamApiOptionsOverride необходимо задать.
- outputJsonTypeInfo
- JsonTypeInfo<TOutput>
Метаданные сериализации JSON для TOutput
- downstreamApiOptionsOverride
- Action<DownstreamApiOptions>
Переопределяет параметры, предложенные в конфигурации, описанной в serviceNameэтой конфигурации.
- user
- ClaimsPrincipal
[Необязательно] Утверждения, представляющие пользователя. Это полезно на платформах, таких как Blazor или Azure Signal R, где HttpContext недоступен. На других платформах библиотека найдет пользователя из HttpContext.
- cancellationToken
- CancellationToken
Маркер отмены.
Возвращаемое значение
Значение, возвращаемое нижестоящим веб-API.