2013-09-16 5 views
3

ASP.NET 웹 API 도움말 페이지를 사용하기위한 설명서를 생성 할 컨트롤러가 있습니다.ASP.NET 웹 API 도움말 페이지 기본 컨트롤러에서 상속하는 컨트롤러 생략

public class ExampleController : ApiController 

을하지만 기본 컨트롤러에서 상속 할 때, 그것은 생략 :

내가 직접 ApiController에서 상속 할 때 문서가 나타납니다

public class ExampleController : ApiBaseController 

...

public class ApiBaseController: ApiController 

나는 상속이 아닌 위임으로 전환했지만, 나는 그것을 만드는 법을 알고 싶었다. 상속을받습니다.

+0

이 코드는 메신저 소스 코드를 여기에서 찾고, 어쩌면 반사 방법은 ApiController에서만 직접 아이를 호출, dinamically 생성되어 나중에 알 수 있습니다! – Fals

+0

사용중인 ASP.NET 버전은 무엇입니까? 나는 simples BaseApiController를 수행 한 다음 Base의 새 자식을 포함 시켰으며 문서가 작동합니다! – Fals

+0

기본 컨트롤러에 'ApiExplorerSettings' 속성이라는 속성이 있습니까? –

답변

1

여기 내 실험에서 얻은 팁이 있습니다.

문서는 API 구성의 경로에 많이 의존합니다. 컨트롤러가 경로로 덮여 있지 않으면 나타나지 않습니다. 또한 API 구성의 경로 순서는 설명서의 작업 순서입니다.

이 두 가지를 모두 다루기 위해 각 컨트롤러에 대해 명명 된 경로를 만들었습니다. 이것은 옵션 비트가 많은 단일 라우트가 아니라 각 라우트를 특정하게 만드는 추가 이점이 있습니다. 이렇게하면 내 모든 작업이 문서에 좋은 순서로 표시됩니다.

API 테스터를 추가하여 API에서 직접 호출 할 수 있도록했습니다.

0

기본 클래스의 사용 권한을 확인하십시오. 나는 똑같은 문제가 있었고 내부적 인 것으로 보호되어야하는 방법의 결과였습니다.

상위 항목에서 액세스해야하는 모든 메소드가 internal로 설정되고 ApiController를 대체하는 모든 메소드가 protected로 설정되어 있는지 확인하십시오.

그래도 코드가 작동하지 않으면 게시하십시오. 국물 같은

작품 :

관련 문제