IDownstreamApi.PostForUserAsync Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
PostForUserAsync<TInput,TOutput>(String, TInput, Action<DownstreamApiOptionsReadOnlyHttpMethod>, ClaimsPrincipal, CancellationToken) |
Calls, using Post, a downstream API with some input data and returning data.
By default the input data is serialized in JSON and the returned data is deserialized from JSON but you can provide your own serializer and your own deserializer in the action
you pass-in through the |
PostForUserAsync<TInput>(String, TInput, Action<DownstreamApiOptionsReadOnlyHttpMethod>, ClaimsPrincipal, CancellationToken) |
Calls, using Post, a downstream API with some input data .
By default the input data is serialized in JSON but you can provide your own serializer in the action
you pass-in through the |
PostForUserAsync<TInput,TOutput>(String, TInput, Action<DownstreamApiOptionsReadOnlyHttpMethod>, ClaimsPrincipal, CancellationToken)
Calls, using Post, a downstream API with some input data and returning data.
By default the input data is serialized in JSON and the returned data is deserialized from JSON but you can provide your own serializer and your own deserializer in the action
you pass-in through the downstreamApiOptionsOverride
parameter.
public System.Threading.Tasks.Task<TOutput?> PostForUserAsync<TInput,TOutput> (string? serviceName, TInput input, Action<Microsoft.Identity.Abstractions.DownstreamApiOptionsReadOnlyHttpMethod>? downstreamApiOptionsOverride = default, System.Security.Claims.ClaimsPrincipal? user = default, System.Threading.CancellationToken cancellationToken = default) where TOutput : class;
abstract member PostForUserAsync : string * 'Input * Action<Microsoft.Identity.Abstractions.DownstreamApiOptionsReadOnlyHttpMethod> * System.Security.Claims.ClaimsPrincipal * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Output (requires 'Output : null)> (requires 'Output : null)
Public Function PostForUserAsync(Of TInput, TOutput) (serviceName As String, input As TInput, Optional downstreamApiOptionsOverride As Action(Of DownstreamApiOptionsReadOnlyHttpMethod) = Nothing, Optional user As ClaimsPrincipal = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TOutput)
Type Parameters
- TInput
Generic input type.
- TOutput
Generic output type.
Parameters
- serviceName
- String
Name of the service describing the downstream API. There can
be several configuration named sections mapped to a DownstreamApiOptions,
each for one downstream API. You can pass-in null, but in that case downstreamApiOptionsOverride
needs to be set.
- input
- TInput
Data sent to the downstream web API, through the body or the HTTP request.
- downstreamApiOptionsOverride
- Action<DownstreamApiOptionsReadOnlyHttpMethod>
[Optional] Overrides the options proposed in the configuration described
by serviceName
.
- user
- ClaimsPrincipal
[Optional] Claims representing a user. This is useful in platforms like Blazor or Azure Signal R, where the HttpContext is not available. In other platforms, the library will find the user from the HttpContext.
- cancellationToken
- CancellationToken
Returns
The value returned by the downstream web API.
Examples
var result = await _downstreamApi.PostForUserAsync<MyItem, IEnumerable<MyItem>>(
"MyService",
myItem,
options =>
{
options.RelativePath = $"api/todolist/{myItem.Id}";
});
Applies to
PostForUserAsync<TInput>(String, TInput, Action<DownstreamApiOptionsReadOnlyHttpMethod>, ClaimsPrincipal, CancellationToken)
Calls, using Post, a downstream API with some input data .
By default the input data is serialized in JSON but you can provide your own serializer in the action
you pass-in through the downstreamApiOptionsOverride
parameter.
public System.Threading.Tasks.Task PostForUserAsync<TInput> (string? serviceName, TInput input, Action<Microsoft.Identity.Abstractions.DownstreamApiOptionsReadOnlyHttpMethod>? downstreamApiOptionsOverride = default, System.Security.Claims.ClaimsPrincipal? user = default, System.Threading.CancellationToken cancellationToken = default);
abstract member PostForUserAsync : string * 'Input * Action<Microsoft.Identity.Abstractions.DownstreamApiOptionsReadOnlyHttpMethod> * System.Security.Claims.ClaimsPrincipal * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function PostForUserAsync(Of TInput) (serviceName As String, input As TInput, Optional downstreamApiOptionsOverride As Action(Of DownstreamApiOptionsReadOnlyHttpMethod) = Nothing, Optional user As ClaimsPrincipal = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task
Type Parameters
- TInput
Generic input type.
Parameters
- serviceName
- String
Name of the service describing the downstream API. There can
be several configuration named sections mapped to a DownstreamApiOptions,
each for one downstream API. You can pass-in null, but in that case downstreamApiOptionsOverride
needs to be set.
- input
- TInput
Data sent to the downstream web API, through the body or the HTTP request.
- downstreamApiOptionsOverride
- Action<DownstreamApiOptionsReadOnlyHttpMethod>
[Optional] Overrides the options proposed in the configuration described
by serviceName
.
- user
- ClaimsPrincipal
[Optional] Claims representing a user. This is useful in platforms like Blazor or Azure Signal R, where the HttpContext is not available. In other platforms, the library will find the user from the HttpContext.
- cancellationToken
- CancellationToken
Returns
The value returned by the downstream web API.
Examples
await _downstreamApi.PostForUserAsync<MyItem>(
"MyService",
myItem,
options =>
{
options.RelativePath = $"api/todolist/{myItem.Id}";
});