다른 개발자가 사용할 수 있도록하기 위해 설명서를 생성하려고하는 ASP.NET (Core가 아닌)으로 작성된 WebAPI 서비스가 있습니다. Swashbuckle을 찾아 설치했습니다. 그런 다음 OData를 일부 서비스에 사용하기 때문에 Swashbuckle.OData을 추가했습니다. 그런 다음 설정을 SwaggerConfig
으로 수정하여 ODataSwaggerProvider
을 사용했습니다. 나는 또한 동일한 URL 경로로 몇 개의 액션을 가지고 있기 때문에 으로 설정했다. 쿼리 문자열에 의해서만 다르기 때문에 (나중에 다룰 필요가있다.) 여태까지는 그런대로 잘됐다.Swashbuckle 관련 문제
그런 다음 테스트 해 보았습니다. 내 웹 앱을 시작한 다음 "/ swagger /"를 추가하여 종료합니다. 리소스 정보를로드 중임을 알리는 메시지가 나타납니다. 그러나 몇 분 후에 "오류 : 저장소가 부족하여이 작업을 완료 할 수 없습니다."라는 브라우저 오류 디버그 팝업이 나타납니다. 그것은 디버그를 원한다면 묻습니다. 그렇다면 IE (브라우저에서 사용하는 디버거)로 이동합니다. 스택의 유일한 코드는 jquery-1-8-0-min-js 또는 swagger-ui-min-js입니다 (이 부분은 저를 혼란스럽게합니다. swagger-ui-min-js 파일이 없으므로 프로젝트, 나는 그것을 DLL에 포함 된 가정합니다). 내 코드로 다시 떠오르는 스택 추적 부분이 없으며 모든 코드가 축소되어 디버깅하기가 매우 어렵습니다.
그러나 오류 팝업을 닫은 후 컨트롤러 중 3 개가 결과 페이지에 나타나기 때문에 적어도 부분적으로 작동하고 있음을 알고 있습니다. 탐색 할 수 있으며 모든 GET, POST, PUT 및 DELETE가있는 것처럼 보이며 테스트 할 수 있습니다.
"/ swagger /"URL을 탐색 할 때마다 Swagger는 설명서를 생성하기 위해 서비스의 모든 URL을 조회합니까? 아마 실행하는 데 특히 오랜 시간이 걸리는 작업을 때리는 아마도 궁금하네요 또는 아마도 생성 된 설명서가 너무 많은 디스크 공간을 (나는 디스크에 충분한 공간이 있지만 어쩌면 그것은 RAM을 참조하는 것입니다?).
어쨌든 그게 문제가 아니더라도 누군가에게 보낼 수있는 일종의 문서 파일을 생성하려면 어떻게해야합니까? 내 폴더에 새로운 파일이 추가 된 것을 볼 수 없으므로, 당신이 swagger URL로 이동할 때마다 전체 프로세스를 다시 수행하는 것처럼 보일 수 있습니다.
코드없이이 문제를 해결하는 것은 거의 불가능합니다 ... 코드를 GitHub에 넣을 수 있습니까? – HelderSepu
GitHub에 코드를 추가 할 수 없습니다. 아마 같은 행동을하는 더미 프로젝트를 만들려고 노력할 수도 있습니다. 그러나 나는 더 높은 단계에서 "Swashbuckle은 실제로 여기서 무엇을하고 있는가?" 문제가 무엇인지 추측 할 수 있습니다. 이론적 인 수준에서 실행하는 데 너무 오래 걸리거나 많은 양의 데이터를 반환하는 조치가있는 경우 "충분하지 않은 저장 공간을 사용할 수 있습니까?"라는 메시지가 표시됩니까? 마찬가지로 이론적으로 그 메시지를 보여줄 수 있습니까? – RebelScum
간단한 WebAPI 프로젝트로 시작한 Swashbuckle에 익숙해지고 Swashbuckle을 추가하는 것이 좋습니다. 그런 다음 프로젝트의 복잡한 기능 중 일부를 추가하여 중단 된 부분을 확인하십시오. – HelderSepu