IDownstreamApi.CallApiForUserAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
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
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
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
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
Valore restituito dall'API Web downstream.