ASP.NET 코어 웹 API는 자신감 사용


이 섹션 탐색

  • 자신감 소개
  • 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.AspNetCoreNSwag에게 자신감을 달성하기 위해 두 개의 패키지를, 모두는 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"));
            });
        }

사용 시나리오

참고

주의
  마이크로 채널 공용 수에 관심을 지불하시기 바랍니다 카이 제곱을 .

사용 시나리오

추천

출처www.cnblogs.com/lucky_hu/p/11130209.html