Creando un API en Net Core 5 - OpenAPI 및 Swagger

12757 단어 csharpapidotnetrest
안녕하세요!👋
NetCore API의 새 구성원입니다.
페스티벌에는 새 프로젝트에 대한 개방형 API가 포함됩니다.
최종 에제 칸도스, 파이든 바야로 델 github
와모스?

물음: OpenAPI를 좋아합니까?


OpenAPI는 새로운 API 문서를 미리 정의합니다.
lado의 개발 과정에서 OpenAPI는 데이터의 존재성과 포맷 JSON을 정의했고 API 기반의 귀속, 실현 과정, 환경 데이터의 정보와 데이터의 회수 등을 정의했다.
명확한 정의에서 문서 형식에 대한 정의는 장치/개인의 실용성을 포함한다.

너는 허풍을 떨고 있느냐?


개원 프로젝트를 당당하게 실시하다.El proyecto fue cedido는 변화를 위한 개방형 API 이니셔티브입니다.
그들은 인프라 시설인 JSON/YAML generado에서 사용자 체험과 혁신을 크게 실현했다.

대체품


테네모스 a RAML.
데스타카 동남부에 위치한 tenemos alternativas 거리의 재취업 구역, 우편번호: Redoc.
이것은 link개의podemos 버전으로 선택 목록입니다.

Agregar OpenAPI y Swagger UI nuestro API 1개


문도덕Net Core hay 2 librerías principales,Swashbuckle y NSwag.이것은 실용적인 허장성세의 곳이다.Net 5 viene 에는 API 템플릿의 결함 포함

리브레아스


아그레가모스 세지언트 파쿠트 데누지
$> dotnet add package Swashbuckle.AspNetCore

이것은 소규모 창업 회사다.대테러 엘리트


Debemos agregar unas líneas en las functiones ConfigurationServices
services.AddSwaggerGen();
Y en Configure
app.UseSwagger();
app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});

사용자 지정 아이콘


이것은 문서 정보이고, 이것은 문서 정보이며, 이것은 문서 정보이며, 이것은 문서 정보이며, 이것은 문서 정보이다.

XML 문서


Podemos utilizar nuestra documentación de código por medio de XML Docs para mostrar información en el-UI.
이것은 프로젝트의 주요 부분으로 이 프로젝트는 기능이 전면적인 프로젝트이다
<PropertyGroup>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <NoWarn>$(NoWarn);1591</NoWarn>
</PropertyGroup>
루에고 러드시모스는 거들먹거리는 건축가이다
services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new OpenApiInfo { 
        Title = "My First Net Core REST API",
        Version = "v1"
    });

    var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
    var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
    c.IncludeXmlComments(xmlPath);
});

로고 사용자 정의


Podemos agregar는 새로운 애플리케이션을 맞춤형으로 구성했습니다.CSS, Javascript, 유틸리티 및 HTML 모두 복잡합니다.
팔라로스 칸비오스 바시코스(cambio de logo y color del header) 솔로'차세대 시퀸트'(nuevo de la siguiente manera)의 노래
app.UseStaticFiles();
app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "MyFirstNetCoreWebAPI.WebAPI v1");
    c.InjectStylesheet("/swagger-ui/swagger-custom.css");
});
y el archivo css dentro de una nueva Ru 카펫 a que llamaremos wwwroot
.swagger-ui .topbar {
    background-color: #1abc9c;
}

.topbar-wrapper a img[alt="Swagger UI"] {
    display: none;
}

.topbar-wrapper a {
    display: block;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background: url(apilogo.png) no-repeat;
    width: 300px; /* Width of new image */
    height: 86px; /* Height of new image */
    padding-left: 180px; /* Equal to width of new image */
}


.topbar-wrapper .select-label span {
    color: #212121;
}
El previo css nos는 este bonito resultado를 증명합니다.

라이센스 및 자동 정보


이것은 자동 및 허가증 정보 시스템의 일부분으로서 매우 중요한 과정이다.
services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new OpenApiInfo { 
        Title = "My First Net Core REST API",
        Version = "v1",
        Description = "A simple example ASP.NET Core Web API by Andrés Lozada Mosto, You can find this tutorial here: https://dev.to/andreslozadamosto/creando-un-api-en-net-core-5-intro-2nc2",
        TermsOfService = new Uri("https://example.com/terms"),
        Contact = new OpenApiContact
        {
            Name = "Andres Lozada Mosto",
            Email = string.Empty,
            Url = new Uri("https://github.com/andreslozadamosto"),
        },
        License = new OpenApiLicense
        {
            Name = "Use under MIT licence",
            Url = new Uri("https://choosealicense.com/licenses/mit/"),
        }
    });
});

datos Requeriedos 정의


공공 교통수단

티포드 사리다


이것은 중요한 지표로 그의 목표는 새로운 자원을 이용하여 새로운 자원을 형성하는 것이다.Esto se Realization indicando el MIME 유형의 컨트롤러입니다.
[Produces("application/json")]
이것은 매우 효과적인 방법의 하나다.
후기 예술에서 이것은 유엔 전단의 API로 일련의 형식(예를 들어 JSON, XML,otro)을 포함한다.Net Core provee soporte a esta Functionalidad and se pueden Registrator cualquier tipo de formarteadores de salida.시장은 예술에 대해 깊은 이해를 가지고 있다.

Códigos de HTTP de respuesta [제품 응답 유형]


기타 관련 정보는 모두 네트워크 운영자가 요청에 따라 제공한다.
파일은 새로운 행동 방법을 요구한다
[ProducesResponseType(StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status409Conflict)]
[ProducesResponseType(StatusCodes.Status201Created)]
El enum Status Codes는 다양한 국가의 주민을 말합니다.
사람마다 책임이 다르다

초과의


고객(신규 고객), 서버 스텁 및 서버 스텁의 사용자로 구성된 개방형 API 이야기입니다.
Esta 웹 https://openapi.tools개 인증 기관

좋은 웹페이지 즐겨찾기