Lingua

IDownstreamApi.CallApiForUserAsync Metodo

Definizione

Overload

Nome Descrizione
CallApiForUserAsync(String, Action<DownstreamApiOptions>, ClaimsPrincipal, HttpContent, CancellationToken)

Chiama l'API downstream per conto dell'utente, in base a una descrizione dell'API downstream nella configurazione (nome del servizio), eseguirne l'override a livello di codice. Si tratta di un'API di livello inferiore. Esistono altre API per metodi Http specifici.

CallApiForUserAsync<TInput,TOutput>(String, TInput, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken)

Chiama un'API downstream che usa JSON con alcuni dati e restituisce dati.

CallApiForUserAsync<TInput,TOutput>(String, TInput, JsonTypeInfo<TInput>, JsonTypeInfo<TOutput>, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken)

Chiama un'API downstream che usa JSON con alcuni dati e restituisce dati.

CallApiForUserAsync<TOutput>(String, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken)

Chiamare un endpoint API Web con un httpGet e restituire dati fortemente tipizzato.

CallApiForUserAsync<TOutput>(String, JsonTypeInfo<TOutput>, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken)

Chiamare un endpoint API Web con un httpGet e restituire dati fortemente tipizzato.

CallApiForUserAsync(String, Action<DownstreamApiOptions>, ClaimsPrincipal, HttpContent, CancellationToken)

Chiama l'API downstream per conto dell'utente, in base a una descrizione dell'API downstream nella configurazione (nome del servizio), eseguirne l'override a livello di codice. Si tratta di un'API di livello inferiore. Esistono altre API per metodi Http specifici.

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)

Parametri

serviceName
String

Nome del servizio che descrive l'API Web downstream. Possono essere presenti diverse sezioni denominate di configurazione mappate a un DownstreamApiOptions, ognuna per un'API downstream. È possibile passare null, ma in questo caso downstreamApiOptionsOverride deve essere impostato.

downstreamApiOptionsOverride
Action<DownstreamApiOptions>

(Facoltativo) Esegue l'override delle opzioni proposte nella configurazione descritta da serviceName.

user
ClaimsPrincipal

(Facoltativo) Attestazioni che rappresentano un utente. Ciò è utile su piattaforme come Blazor o Azure Signal R, in cui HttpContext non è disponibile. In altre piattaforme, la libreria troverà l'utente dal contesto della richiesta HTTP.

content
HttpContent

Contenuto da inviare all'API nel caso in cui HttpMethod sia HttpMethod.Patch, Post, Put.

cancellationToken
CancellationToken

Token di annullamento.

Valori restituiti

Oggetto HttpResponseMessage che verrà elaborato dall'applicazione.

Si applica a

CallApiForUserAsync<TInput,TOutput>(String, TInput, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken)

Chiama un'API downstream che usa JSON con alcuni dati e restituisce dati.

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)

Parametri di tipo

TInput

Tipo di input.

TOutput

Tipo di uscita.

Parametri

serviceName
String

Nome del servizio che descrive l'API downstream. Possono essere presenti diverse sezioni denominate di configurazione mappate a un DownstreamApiOptions, ognuna per un'API downstream. È possibile passare null, ma in questo caso downstreamApiOptionsOverride deve essere impostato.

input
TInput

Parametro di input per l'API Web downstream.

downstreamApiOptionsOverride
Action<DownstreamApiOptions>

Esegue l'override delle opzioni proposte nella configurazione descritta da serviceName.

user
ClaimsPrincipal

[Facoltativo] Attestazioni che rappresentano un utente. Ciò è utile in piattaforme come Blazor o Azure Signal R, in cui HttpContext non è disponibile. In altre piattaforme, la libreria troverà l'utente da HttpContext.

cancellationToken
CancellationToken

Token di annullamento.

Valori restituiti

Task<TOutput>

Valore restituito dall'API Web downstream.

Esempio

Metodo list che restituisce un oggetto MyItem>> IEnumerable<.

public Task<IEnumerable<MyItem>> GetAsync()
{
 return _downstreamWebApi.CallWebApiForUserAsync<object, IEnumerable<MyItem>>(
        ServiceName,
        null,
        options =>
        {
          options.RelativePath = $"api/todolist";
        });
}

Esempio di modifica.

public Task<MyItem> EditAsync(MyItem myItem)
{
  return _downstreamWebApi.CallWebApiForUserAsync<MyItem, MyItem>(
        ServiceName,
        nyItem,
        options =>
        {
           options.HttpMethod = HttpMethod.Patch;
           options.RelativePath = $"api/todolist/{myItem.Id}";
        });
}

Si applica a

CallApiForUserAsync<TInput,TOutput>(String, TInput, JsonTypeInfo<TInput>, JsonTypeInfo<TOutput>, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken)

Chiama un'API downstream che usa JSON con alcuni dati e restituisce dati.

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)

Parametri di tipo

TInput

Tipo di input.

TOutput

Tipo di uscita.

Parametri

serviceName
String

Nome del servizio che descrive l'API downstream. Possono essere presenti diverse sezioni denominate di configurazione mappate a un DownstreamApiOptions, ognuna per un'API downstream. È possibile passare null, ma in questo caso downstreamApiOptionsOverride deve essere impostato.

input
TInput

Parametro di input per l'API Web downstream.

inputJsonTypeInfo
JsonTypeInfo<TInput>

Metadati di serializzazione JSON per TInput

outputJsonTypeInfo
JsonTypeInfo<TOutput>

Metadati di serializzazione JSON per TOutput

downstreamApiOptionsOverride
Action<DownstreamApiOptions>

Esegue l'override delle opzioni proposte nella configurazione descritta da serviceName.

user
ClaimsPrincipal

[Facoltativo] Attestazioni che rappresentano un utente. Ciò è utile in piattaforme come Blazor o Azure Signal R, in cui HttpContext non è disponibile. In altre piattaforme, la libreria troverà l'utente da HttpContext.

cancellationToken
CancellationToken

Token di annullamento.

Valori restituiti

Task<TOutput>

Valore restituito dall'API Web downstream.

Esempio

Metodo list che restituisce un oggetto MyItem>> IEnumerable<.

public Task<IEnumerable<MyItem>> GetAsync()
{
 return _downstreamWebApi.CallWebApiForUserAsync<object, IEnumerable<MyItem>>(
        ServiceName,
        null,
        options =>
        {
          options.RelativePath = $"api/todolist";
        });
}

Esempio di modifica.

public Task<MyItem> EditAsync(MyItem myItem)
{
  return _downstreamWebApi.CallWebApiForUserAsync<MyItem, MyItem>(
        ServiceName,
        nyItem,
        options =>
        {
           options.HttpMethod = HttpMethod.Patch;
           options.RelativePath = $"api/todolist/{myItem.Id}";
        });
}

Si applica a

CallApiForUserAsync<TOutput>(String, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken)

Chiamare un endpoint API Web con un httpGet e restituire dati fortemente tipizzato.

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)

Parametri di tipo

TOutput

Tipo di uscita.

Parametri

serviceName
String

Nome del servizio che descrive l'API downstream. Possono essere presenti diverse sezioni denominate di configurazione mappate a un DownstreamApiOptions, ognuna per un'API downstream. È possibile passare null, ma in questo caso downstreamApiOptionsOverride deve essere impostato.

downstreamApiOptionsOverride
Action<DownstreamApiOptions>

Esegue l'override delle opzioni proposte nella configurazione descritta da serviceName.

user
ClaimsPrincipal

[Facoltativo] Attestazioni che rappresentano un utente. Ciò è utile in piattaforme come Blazor o Azure Signal R, in cui HttpContext non è disponibile. In altre piattaforme, la libreria troverà l'utente da HttpContext.

cancellationToken
CancellationToken

Token di annullamento.

Valori restituiti

Task<TOutput>

Valore restituito dall'API Web downstream.

Si applica a

CallApiForUserAsync<TOutput>(String, JsonTypeInfo<TOutput>, Action<DownstreamApiOptions>, ClaimsPrincipal, CancellationToken)

Chiamare un endpoint API Web con un httpGet e restituire dati fortemente tipizzato.

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)

Parametri di tipo

TOutput

Tipo di uscita.

Parametri

serviceName
String

Nome del servizio che descrive l'API downstream. Possono essere presenti diverse sezioni denominate di configurazione mappate a un DownstreamApiOptions, ognuna per un'API downstream. È possibile passare null, ma in questo caso downstreamApiOptionsOverride deve essere impostato.

outputJsonTypeInfo
JsonTypeInfo<TOutput>

Metadati di serializzazione JSON per TOutput

downstreamApiOptionsOverride
Action<DownstreamApiOptions>

Esegue l'override delle opzioni proposte nella configurazione descritta da serviceName.

user
ClaimsPrincipal

[Facoltativo] Attestazioni che rappresentano un utente. Ciò è utile in piattaforme come Blazor o Azure Signal R, in cui HttpContext non è disponibile. In altre piattaforme, la libreria troverà l'utente da HttpContext.

cancellationToken
CancellationToken

Token di annullamento.

Valori restituiti

Task<TOutput>

Valore restituito dall'API Web downstream.

Si applica a