일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- @Component
- db index
- 아펠가모선릉
- 세비야
- b-tree index
- 코틀린
- kopring
- 그라나다
- Kotlin
- 400에러
- 마드리드
- 본식후기
- kotiln
- elk
- HTTP
- 스페인
- 스프링 AOP
- HTTP #웹기술
- 바르셀로나
- 코프링
- c# scv
- 아펠가모
- sprintboot
- Srping AOP
- 코틀린 함수
- 스페인 준비물
- 아펠가모 선릉
- 관심지향프로그래밍
- http상태코드
- git명령어
- Today
- Total
끄적이는 메모장
[.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"} }); }); |
'C, C++, C# > C# ASP.NET' 카테고리의 다른 글
[.NET Core 2.x] RabbitMQ 연동 (0) | 2018.04.06 |
---|---|
[.NET Core 2.x] NoSQL (Couchbase) 연동 (0) | 2018.04.05 |
[.NET Core 2.x] REST API + MySQL (0) | 2018.04.05 |
[.NET Core 2.x] VS Code + MySQL (0) | 2018.04.04 |
[.NET Core 2.x] Visual Studio Code (0) | 2018.04.04 |