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

Маркер отмены.

Возвращаемое значение

Task<TOutput>

Значение, возвращаемое нижестоящим веб-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

Маркер отмены.

Возвращаемое значение

Task<TOutput>

Значение, возвращаемое нижестоящим веб-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

Маркер отмены.

Возвращаемое значение

Task<TOutput>

Значение, возвращаемое нижестоящим веб-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

Маркер отмены.

Возвращаемое значение

Task<TOutput>

Значение, возвращаемое нижестоящим веб-API.

Применяется к