Back to top

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으로 접속하면 정상적으로 메시지가 출력되는 것을 볼 수 있다.

rte_image_192.png


결론

Blazor web app에서 API 컨트롤러를 만들고 요청을 처리할 수 있게 되었다!

Blazor에서 API 호스트하기 추가 예정
An unhandled error has occurred. Reload 🗙