ListPosts.cs 812 B

12345678910111213141516171819202122232425
  1. using Application.Abstractions.Messaging;
  2. using Web.Api.Common;
  3. namespace Web.Api.Endpoints.Forum.StockBoard;
  4. /// <summary>종목 가상보드 글 목록 — GET /api/stock-boards/{code}/posts?page= (익명).</summary>
  5. internal sealed class ListPosts : IEndpoint
  6. {
  7. public void MapEndpoint(IEndpointRouteBuilder app)
  8. {
  9. app.MapGet("api/stock-boards/{code}/posts", async (
  10. string code,
  11. ISender sender,
  12. int page = 1,
  13. ushort perPage = 20,
  14. CancellationToken ct = default
  15. ) => {
  16. var result = await sender.Send(new Application.Features.Api.Forum.StockBoard.ListPosts.Query(code, page, perPage), ct);
  17. return ApiResponse.Ok(result);
  18. })
  19. .WithTags("StockBoard")
  20. .AllowAnonymous();
  21. }
  22. }