.NET 자습서 - 첫 번째 마이크로 서비스

서비스 만들기

명령 프롬프트에서 다음 명령을 실행하여 앱을 만듭니다.

터미널에서 다음 명령을 실행하여 앱을 만듭니다.

Command prompt
dotnet new webapi -o MyMicroservice --no-https

그런 다음 이전 명령으로 만든 새 디렉터리로 이동합니다.

Command prompt
cd MyMicroservice

이러한 명령은 무엇을 의미하나요?

dotnet 명령은 webapi 유형의 새 애플리케이션(REST API 엔드포인트)을 만듭니다.

  • -o 매개 변수는 앱이 저장되는 MyMicroservice라는 디렉터리를 생성합니다.
  • --no-https 플래그는 배포를 간단하게 유지하기 위해 HTTPS 인증서 없이 실행되는 앱을 만듭니다.

cd MyMicroservice 명령은 새로 만든 앱 디렉터리에 사용자를 배치합니다.

생성된 코드

실행할 준비가 된 간단한 서비스를 제공하기 위해 다음 파일을 비롯해 MyMicroservice 디렉터리에 여러 파일이 생성되었습니다.

  • Program.cs는 진입점 파일이며 앱을 시작할 때 로드하는 모든 설정과 구성을 포함하고 향후 5일 동안의 일기 예보를 반환하는 간단한 API에 대한 코드를 포함합니다. 응용 프로그램도 시작합니다.
  • MyMycroservice.http는 ASP.NET Core 프로젝트를 테스트하는 데 사용됩니다.
  • MyMicroservice.csproj는 앱이 대상으로 하는 .NET 버전, 프로젝트에서 참조하는 라이브러리 등을 정의합니다.
  • Properties 디렉터리 내의 launchSettings.json 파일은 로컬 개발 환경에 대한 다양한 프로필 설정을 정의합니다. 5000-5300 사이의 포트 번호는 프로젝트 생성 시 자동으로 할당되어 이 파일에 저장됩니다.

다음 코드는 Program.cs 파일의 내용을 표시합니다.

Program.cs
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

var summaries = new[]
{
    "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};

app.MapGet("/weatherforecast", () =>
{
    var forecast =  Enumerable.Range(1, 5).Select(index =>
        new WeatherForecast
        (
            DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
            Random.Shared.Next(-20, 55),
            summaries[Random.Shared.Next(summaries.Length)]
        ))
        .ToArray();
    return forecast;
})
.WithName("GetWeatherForecast")
.WithOpenApi();

app.Run();

record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary)
{
    public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
}

다음 단계로 이동하려면 아래의 계속 버튼을 선택하세요.

오류가 있나요?

템플릿 "ASP.NET Core Web API"를 만들 수 없습니다. 템플릿을 만들지 못했습니다. 세부 정보: 'C:\Windows\System32\MyMicroservice' 경로에 대한 액세스가 거부되었습니다와 비슷한 메시지를 받으면 현재 디렉터리를 새 폴더를 만들 수 있는 권한이 있는 디렉터리로 변경하고 명령을 다시 실행해 보세요.

프로젝트를 만들려고 할 때 Windows에서 SDK를 찾을 수 없고 SDK를 설치했다고 확신하는 경우 컴퓨터에 PATH 환경 변수에 문제가 있을 수 있습니다. 이 문제를 진단하고 수정하는 방법에 대한 지침은 이 Stack Overflow 게시물을 참조하세요.

발생한 문제를 해결할 수 없는 경우 문제 해결에 대한 도움말을 보려면 아래에 있는 문제가 발생했습니다 버튼을 선택하세요.

계속