[.NET Core 2.x] Swagger 연동
API 테스트를 간편하게 도와주는 swagger를 연동 해보자
1. swagger package 설치
> VS Code 터미널에서 다음 명령어로 설치를 한다.
dotnet add TodoApi.csproj package Swashbuckle.AspNetCore |
2. swagger service .NET Core에 추가하기
> startup.cs 파일에 swagger를 위한 config를 설정 해 준다.
> 마이크로 서비스가 스웨거를 생성하기 위한 config 설정이다. > 해당 설정에는 스웨거의 JSON 문서에서 추가하고 싶은 정보를 설정 할 수 있다. - 현재는 Info라는 정보에 version과 title을 추가 하였다. using Swashbuckle;
using Swashbuckle.AspNetCore.Swagger;
public void ConfigureServices(IServiceCollection services)
{
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1"});
}); |
> 이후 runtime에 실행될 config 설정을 해 준다.
> 스웨거의 실행될 때 UI가 표시 되는 것을 정의한다. public void Configure(IApplicationBuilder app, IHostingEnvironment env,
IApplicationLifetime applicationLifetime) {
app.UseSwagger();
app.UseSwaggerUI( c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json","my API V1");
}); |
3. 실행 후 확인해보기
> http://localhost:5000/swagger/
> 위 그림처럼 각 API들을 테스트 할 수 있도록 swagger의 service가 실행 되는 것을 확인할 수 있다.
> 각각의 tab을 누르면 API의 테스트가 가능하다.
4. swagger custom 하기
> 1~3번까지 단계는 가장 기본적으로 swagger를 사용하는 방법이다.
> 만약 main 화면에 추가적인 설명을 custom하게 추가하고 싶다면 다음과 같은 방법을 사용할 수 있다.
> swaager main 화면 custom - Info 내에 정보들을 추가 해준다. - contact 처럼 Url을 지정 해 주면 하이퍼링크로 지정이 된다. using Swashbuckle;
using Swashbuckle.AspNetCore.Swagger;
public void ConfigureServices(IServiceCollection services)
{
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info {
Title = "My API", Version = "v1", Description = "It is sample of swagger", Contact = new Contact{ Name = "Ryan", Url = "Ryan.com"} }); }); |