일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Microsoft
- csharp
- Process
- chashtag
- C#
- git
- IValueConverter
- commit
- Visual Studio
- .net
- Github
- algorithm
- coding-test
- tls
- ListView
- string
- mysql
- WPF
- Coding
- nullable
- File
- 코딩테스트
- convert
- programmers
- log
- windows
- logging
- Binding
- windows10
- dotNET
- Today
- Total
CHashtag
asp.net core에서 swagger 직접 세팅하기 본문
안녕하세요.
Swagger는 RESTful API를 문서화하고 테스트하기 위한 프레임워크입니다.
Swagger를 사용하면 API 사용자들이 API의 구성 요소, 작동 방식 및 입력/출력 매개변수 등을 이해하기 쉬워지므로 개발자들 사이에서 매우 인기가 있습니다.
자 그럼, swagger를 사용하는 방법에 대해 알아보도록 하겠습니다.
(visual studio에서 asp.net core 프로젝트 생성시에 swagger사용하기를 클릭하면 자동으로 생성되나, 이 글에서는 직접 swagger를 사용하는 방법에 대해 다룹니다.)
Swagger 패키지 설치하기
Swagger를 사용하려면 먼저 NuGet 패키지 매니저를 사용하여 Swashbuckle.AspNetCore 패키지를 설치해야 합니다. 이 패키지는 Swagger를 ASP.NET Core 애플리케이션에 통합하는 데 사용됩니다.
Install-Package Swashbuckle.AspNetCore
Swagger를 사용하여 API 문서화하기
Swagger를 사용하여 API를 문서화하려면 Startup.cs 파일에서 Swagger 구성을 추가해야 합니다.
다음 코드를 ConfigureServices 메서드에 추가합니다.
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
});
SwaggerDoc 메서드는 Swagger 문서에서 사용할 API 정보를 정의합니다.
위의 예제에서는 "v1" 버전의 "My API"라는 이름의 API를 생성합니다.
그리고 다음 코드를 Configure 메서드에 추가하여 Swagger 미들웨어를 사용할 수 있도록 합니다.
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
SwaggerUI 미들웨어는 Swagger 문서를 사용자 친화적인 HTML 페이지로 렌더링합니다.
SwaggerEndpoint 메서드는 Swagger 문서를 참조하는 데 사용됩니다.
위의 예제에서는 "v1" 버전의 Swagger 문서를 참조합니다.
Swagger를 사용하여 API 문서화하기
Swagger를 사용하여 API를 문서화하는 방법을 보았으므로 이제 Swagger를 사용하여 API를 테스트할 수 있습니다.
다음 URL을 사용하여 Swagger UI에 액세스할 수 있습니다.
http://localhost:<port>/swagger
Swagger UI는 API를 테스트하는 데 사용할 수 있는 인터랙티브 도구를 제공합니다.
API 작동 방식을 이해하고 입력 및 출력 매개변수를 테스트할 수 있습니다.
이것으로 C# ASP.NET Core에서 Swagger를 사용하는 방법에 대한 간략한 소개를 마치겠습니다.
Swagger를 사용하면 RESTful API를 보다 쉽게 문서화하고 테스트할 수 있으므로 개발 프로세스를 더욱 효율적으로 만들 수 있습니다.
감사합니다.
'C# > ASP.NET' 카테고리의 다른 글
asp.net DI의 life cycle (Singleton, Scope, Transient) (0) | 2024.05.13 |
---|---|
Docker + ASP.NET core 6.0 + EF Core + Mysql (0) | 2022.09.29 |
[.net] gRPC 개발 (2) | 2022.01.08 |
[C#] [ASP.NET] Nancy CS0234, CS0012 어셈블리 참조 에러 해결법 (0) | 2021.05.11 |