Blazor에서 API 호스트하기
작성날짜 2024/06/30
API 서버를 따로 돌리는 건 낭비인 것 같아요...
블로그를 만들던 중 이미지 업로드를 위해 Api Post 요청을 받아야 할 일이 생겼다. 물론 Blazor는 UI만들라고 되어 있는 거라 처음엔 Api 서버로 쓰기 위한 설정이 되어 있지 않다. 하지만 내가 전에 설명서를 봤을 때 asp.net core 위에서 돌아간다고 본 기억이 있어서 방법을 한 번 찾아봤다.
이 정보는 dotnet8 blazor web app을 기준으로 작성되었다.
설정
Program.cs 파일에서 서비스 등록과 컨트롤러 라우팅 설정을 해준다.
builder.Services.AddControllers();
...
app.MapControllers();
컨트롤러 작성
프로젝트 내에 적당히 폴더를 만들고 새로운 컨트롤러를 만들어준다.
using Microsoft.AspNetCore.Mvc;
namespace PinyaBlog.Controllers
{
[Route("api/home")]
[ApiController]
public class HomeController : ControllerBase
{
[HttpGet]
public string Get()
{
return "hello";
}
}
}
localhost/api/home으로 접속하면 정상적으로 메시지가 출력되는 것을 볼 수 있다.
결론
Blazor web app에서 API 컨트롤러를 만들고 요청을 처리할 수 있게 되었다!