/
Get.cs
36 lines (34 loc) · 1.25 KB
/
Get.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using System.Threading;
using System.Threading.Tasks;
using mediator.Content.Requests.Sample;
using mediator.Content.Responses.Sample;
using Ardalis.ApiEndpoints;
using MediatR;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;
namespace mediator.Content.Activities.Sample
{
[Route("sample")]
public class Get : BaseAsyncEndpoint.WithRequest<SampleRequest>.WithResponse<SampleResponse>
{
private readonly IMediator _mediator;
public Get(IMediator mediator)
{
_mediator = mediator;
}
[HttpGet("{id}")]
[SwaggerOperation(
Summary = "Retrieve a sample response by id ",
Description = "Retrieves a sample response ",
OperationId = "EF0A3653-153F-4E73-8D20-621C9F9FFDC9",
Tags = new[] {"Sample"})
]
[ProducesResponseType(StatusCodes.Status200OK, Type = typeof(SampleResponse))]
[Produces("application/json")]
public override async Task<ActionResult<SampleResponse>> HandleAsync([FromRoute] SampleRequest request, CancellationToken cancellationToken = new CancellationToken())
{
return await _mediator.Send(request, cancellationToken);
}
}
}