이 섹션 탐색
- 자신감 소개
- ASP.NET의 CORE의 자신감의 사용
소프트웨어 개발, 테스트 및 관리 API는 중요하고 도전적인 작품이다. 나의 기사 전에 "R & D 팀, 당신의 API 문서 마음을주십시오" 협력 팀 너무 더 도움도 일관성 API 문서와 코드를 확인하기 위해 문서 관리 도구로 헌신합니다.
과거에 우리는 항상 같은 타사 플랫폼 툴을 통해 우리의 API 문서 관리 eolinker를 . 테스트에서, 우리는 피들러와 같은 도구의 우편 배달부 의존합니다.
자신감 모두 API 문서 및 테스트 관리 기능, 코드와 문서의 일관성을 보장합니다. 그것은 RESTfulAPI이 UI의 논리 표현을 제공하지 않고도 달성. 그것은 사용자가 상황에 액세스하는 코드의 부재에서 기능 및 서비스를 이해하고, 서비스 문서를 작성하는 시간을 줄일 수 있습니다.
1 허세 소개
자신감 모두 API 문서 및 테스트 관리 기능, 코드와 문서의 일관성을 보장합니다. 그것은 RESTfulAPI이 UI의 논리 표현을 제공하지 않고도 달성. 그것은 사용자가 상황에 액세스하는 코드의 부재에서 기능 및 서비스를 이해하고, 서비스 문서를 작성하는 시간을 줄일 수 있습니다.
자신감 자신감 사용 도구는 당사의 서면 서비스 코드 생성 swagger.json 파일을 기반으로 문서 관리 인터페이스를 생성합니다. 이 문서는 얼마나 지원 서비스 방법이며, 메소드 매개 변수에 대한 정보를 제공, 서비스의 기능을 설명합니다. 이 파일을 사용 SwaggerUI는 클라이언트 코드를 생성합니다. 다음 예제 swagger.json 파일입니다.
{
"swagger": "2.0",
"info": {
"version": "1.0",
"title": "My Demo API"
},
"paths": {
"/api/Values": {
"get": {
"tags": ["Values"],
"summary": "Get values",
"operationId": "Get",
"consumes": [],
"produces": ["text/plain", "application/json", "text/json"],
"parameters": [],
"responses": {
"200": {
"description": "Success",
"schema": {
"uniqueItems": false,
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"post": {
"tags": ["Values"],
"operationId": "Post",
"consumes": ["application/json-patch+json", "application/json", "text/json", "application/*+json"],
"produces": [],
"parameters": [{
"name": "value",
"in": "body",
"required": false,
"schema": {
"type": "string"
}
}],
"responses": {
"200": {
"description": "Success"
}
}
}
}
},
"definitions": {}
}
APS.NET 코어 웹 API에서, 우리는 사용할 수 Swashbuckle.AspNetCore 및 NSwag에게 자신감을 달성하기 위해 두 개의 패키지를, 모두는 GitHub의에 오픈 소스입니다. 또한, nswag는 타이프 클라이언트 코드 생성 방법 및 API 서비스 코드를 제공합니다.
1.2 TPL
작업 병렬 라이브러리 ( TPL은 ) 일반적인 유형 및 API하여 System.Threading 및 System.Threading.Tasks 네임 스페이스의 집합입니다.
TPL은 동적으로 사용할 수있는 모든 프로세서의 가장 효과적인 사용과 동시성의 정도를 확장 할 수 있습니다. 코드 구현의 비즈니스에 집중하면서 TPL을 사용하면, 코드의 성능을 극대화 할 수 있습니다.
시작 .NET 프레임 워크 4에서 TPL은 멀티 스레드 및 병렬 코드를 작성하기 위해 선호하는 방법입니다.
ASP.NET의 CORE의 자신감의 2 사용
여기 Swashbuckle.AspNetCore을 달성했다.
여기 ASP.net 코어 웹 API에서의 자신감을 구성하는 단계는 다음과 같습니다
1. 설치 Swashbuckle.AspNetCore
PM> 설치 - 패키지 Swashbuckle.AspNetCore
2. 구성 자신감 미들웨어
중간 요청 파이프 라인에 추가 자신감하기 위해 필요 swaggergen 방법 configureService 방법 시작 클래스를 추가 할 수 있습니다. 여기, 우리는 하나 또는 그 이상의 자신감의 XML 문서를 정의 할 수 있습니다.
Startup.cs
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1.0", new Info { Title = "My Demo API", Version = "1.0" });
c.IncludeXmlComments(System.IO.Path.Combine(System.AppContext.BaseDirectory, "ZhiKeCore.API.xml"));
});
}
이 미들웨어를 사용하려면, 우리는 또한 useswagger 방법이 방법의 시작 클래스를 구성 호출해야합니다. 여기, 우리는 또한 UI를 생성하는 swagerendpoint를 구성해야합니다. useswagegrui는 swager.json 파일을로드 할 수있는 정적 파일 미들웨어를 추가 할 수 있습니다.
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseMvc();
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1.0/swagger.json", "My Demo API (V 1.0)");
});
}
이러한 자신감을 구성하는 기본 단계이며, 우리는 개발 환경에서 자신감을 시작하려면 Visual Studio를 사용하려는 경우, 약간의 설정을 할 필요가있다. 선택 항목 - 재산 -Debug은 브라우저 시작 (실행 브라우저) 자신감의 값을 수정합니다.
우리가 프로그램을 시작하면 다음과 같은 인터페이스를 볼 수 있습니다
우리가 여기에서 볼 때, 그 HTTP 동사는 각각 다른 색상 코드에 사용할. 우리가 작업의 방법을 클릭하면 우리가 "매우"버튼을 클릭하면, 그것은 웹 API에 요청을 보내고, 자세한 내용은 매개 변수를 요청합니다.
우리의 WebAPI를 테스트에서, 자신감은 최소한의 구성이 필요합니다 필요합니다.
우리는 UI 코드 주석에 표시 할 경우에 따라서, 그것을 어떻게해야 하는가?
.NET 핵심에서 우리는 XML 주석을 얻기 위해 프로젝트 속성 윈도우의 "빌드"탭에서 "XML 문서 파일"속성을 설정할 수 있습니다.
기본적으로 자신감 UI는 문서를 표시하지 않습니다. 우리는 경로가 exmlcomments을 포함 통과해야합니다.
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1.0", new Info { Title = "My Demo API", Version = "1.0" });
c.IncludeXmlComments(System.IO.Path.Combine(System.AppContext.BaseDirectory, "ZhiKeCore.API.xml"));
});
}
참고
- https://www.c-sharpcorner.com/article/test-your-asp-net-core-web-api-with-swagger/
- http://www.zhikestreet.com/Home/Detail/6/
주의
마이크로 채널 공용 수에 관심을 지불하시기 바랍니다 카이 제곱을 .