2017-12-01 22 views
0

ASP.NET Core Web API에서 사용자 정의 UI를 사용자 정의하려고합니다. 나는이 자습서 다음있어Cutomize Swagger UI ASP.NET 핵심 웹 API

enter image description here

:

이것은 Startup.cs입니다

나는이 같은 UI 원하는 구성 :

// Add the detail information for the API. 
services.ConfigureSwaggerGen(options => 
{ 
    // Determine base path for the application. 
    var basePath = _env.WebRootPath; 

    // Complete path 
    var xmlPath = Path.Combine(basePath, "myapi.xml"); 

    // Set the comments path for the swagger json and ui. 
    options.IncludeXmlComments(xmlPath); 
}); 

app.UseStaticFiles(); 

// Enable middleware to serve generated Swagger as a JSON endpoint 
app.UseSwagger(); 

// Enable middleware to serve swagger-ui assets (HTML, JS, CSS etc.) 
app.UseSwaggerUI(c => 
{     
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "MyAPI"); 
}); 

이미이 같은 자식 저장소에서 자신감의 UI 파일을 다운로드하여 내 프로젝트에 넣어 :

enter image description here

나는이 옳은 일이라고 알고 있지만하지 않습니다 더러운 UI에 대한 변경 사항을 볼 수 없습니다.

+0

'index.html' 파일에 CSS를 참조하고 있습니까? 또한 'http : // localhost : /swagger/ui/index.html'을 탐색하고 상단에있는 입력 상자에'http : // localhost : /swagger/v1/swagger.json'을 입력하십시오. 렌더링 된 페이지? –

+0

그게 문제입니다. 해당 index.html 페이지는 호출되지 않습니다. – perozzo

+0

'index.html 페이지가 호출되지 않습니다'라는 것을 어떻게 의미합니까? 그것이 올바르게 서비스되고 있는지 확인하기 위해 브라우징을 해봤습니까? –

답변

1

당신이 사용하고있는 다음은 튜토리얼 :


Swashbuckle.AspNetCore 불행히도 그 프로젝트에 그들은 여전히 ​​자신감-UI 버전 2.x를 사용하여 스크린 샷을 보여줍니다 버전 3.x를있다 최신 자신감-UI로 업데이트 요청을 당겨 :

하지만 불행히도 병합에는 많은 진전이 없습니다. 난 당신이 자식 저장소에서 파일을 다운로드하는 방법을 알고 볼

...
나의 추천 :
대신 자신감-UI 파일을 다운로드한다 포크에서 전체 프로젝트 Swashbuckle.AspNetCore를 다운로드 필요한 버전 (예 : alexvaluyskiy/Swashbuckle.AspNetCore)을 사용하여 프로젝트에서 nuget 패키지 대신 해당 프로젝트에 대한 참조를 추가하십시오.


또 다른 옵션은 Swashbuckle.AspNetCore의 자신의 포크가 다른 이름으로 자신의 Nuget 패키지를 게시 한 후 필요한 수정을 병합하고 생성 할 수있다.

+0

해당 문제가 폐쇄 된 것처럼 보입니다. –