2016-07-14 4 views

답변

1

Asp.Net 코어에 대한 ApiExplorer의 다운로드 NuGet이있다.

희망 하시겠습니까?

4

답장을 보내 주셔서 감사합니다. Itay는 제가 원했던 대답을 조금 도와주었습니다. ApiExplorer를 사용해야하는 다른 사람에게 잘 쓰여진 게시물을 StackOverflow에 발견했습니다.

MVC6 - List of all routes
짧은 대답은, 당신은 IApiDescriptionGroupCollectionProvider이 컨트롤러 사용하여 생성자 주입으로 주입 할 수 있습니다 경로를 얻을 수 있습니다. 그런 다음 경로를 ApiDescriptionGroupCollectionProvider.ApiDescriptionGroups.Items에 수신합니다. 경로는 ApiExplorer가 볼 수 있도록 표시 한 경우에만 표시됩니다. 이것은 컨트롤러 또는 컨벤션을 사용하여 수행 할 수 있습니다. 그런 다음

public class ApiExplorerVisibilityEnabledConvention : IApplicationModelConvention 
{ 
    public void Apply(ApplicationModel application) 
    { 
     foreach (var controller in application.Controllers) 
     { 
      if (controller.ApiExplorer.IsVisible == null) 
      { 
       controller.ApiExplorer.IsVisible = true; 
       controller.ApiExplorer.GroupName = controller.ControllerName; 
      } 
     } 
    } 
} 

Startup.cs에, 당신은 규칙을 추가합니다 : 내 모든 컨트롤러에 사용하려는 때문에, 나는 IApplicationModelConvention을 사용

public void ConfigureServices(IServiceCollection services) 
{ 
    // other calls omitted for brevity 
    services.AddMvc(opt => 
    { 
     opt.Conventions.Add(new ApiExplorerVisibilityEnabledConvention());  
    }); 
} 
+0

저도 같은 문제에 봉착를, I 일반적으로 API 탐색기를 활성화하는 방법에 대한 문서를 찾지 못하는 것 같습니다. 이것에 대해 더 많이 이야기 할 수 있습니까? – vanthome