| 1234567891011121314151617181920212223242526272829 |
- using Application.Abstractions.Messaging;
- using Domain.Entities.Stocks.ValueObject;
- using Web.Api.Common;
- namespace Web.Api.Endpoints.Stocks;
- /// <summary>종목 목록 — 시장/검색어 필터 + 페이징 (익명 열람)</summary>
- internal sealed class List : IEndpoint
- {
- public void MapEndpoint(IEndpointRouteBuilder app)
- {
- app.MapGet("api/stocks", async (
- ISender sender,
- string? q = null,
- StockMarket? market = null,
- int page = 1,
- ushort perPage = 20,
- string? sort = null,
- string? order = null,
- CancellationToken ct = default
- ) => {
- var result = await sender.Send(new Application.Features.Api.Stocks.GetList.Query(q, market, page, perPage, sort, order), ct);
- return ApiResponse.Ok(result);
- })
- .WithTags("Stocks")
- .AllowAnonymous();
- }
- }
|