좋아요. 이전에 공용 디렉토리에 모든 것을 넣으려고했을 때 아무 것도 보여주지 않는 몇 가지 불안감을 발견했습니다.
myapp/public/swagger-ui-1.1.1/files
1)이 차이하지만 난 레일 애플 리케이션과 config.ru에서 포도 응용 프로그램을로드하는 순서를해야하는 경우 나도 몰라 라우팅이 처리 된 방법에 변화를 보였다. .. 어떻게 작동하는지 더 이해해야합니다. 하지만 지금은 노선 안쪽에 설치된 포도 앱이 내가 기대하는 바를 수행합니다. 그 결과 swagger-ui가 일반인에게 압축이 풀린 후
http://appurl/swagger-ui-1.1.1/
이 나에게 깔끔한 UI를 제공합니다. 더 많은 정보가 있으면 더 자세히 설명해 드리겠습니다.
EDIT : 여기 나와 같은 도움의 손길을 필요로하는 다른 사용자가 있기 때문에 아래에서 간략하게 설명하겠습니다. 꽤 쉽습니다.
자산 파이프 라인의 하위 디렉토리를 생성/정리할 때 - 공급 업체에서하던 일입니다. lib 디렉토리를 swagger UI에서이 하위 디렉토리로 복사하십시오. 색인 작업을 사용하여 기본 docs_controller를 만듭니다 (비워 둘 수 있음). views/docs 디렉토리를 만들고 swagger-ui index.html을 복사합니다. index.html에서 stylesheet 및 javascript 호출을 asset-tags로 변경하십시오. 문서에 대한 리소스 경로를 추가하십시오. window.swaggerUI를 호출하는 javascript 함수에서 discoveryURL을 "http : //my.root.url/swagger_doc.json"(이상적으로는 ENV 변수)으로 변경하십시오.
그게 전부입니다. 이제 효과가 있습니다. 한 가지 문제는 Swagger가 docs 하위 도메인에서 실행될 때 api 하위 도메인에서 내 포도 API를 사용하는 것이 CORS라는 점입니다. 포도를 쉽게 추가 할 수 있습니다 :
before do
header "Access-Control-Allow-Origin", "http://#{ENV["BASE_URL"]}"
header "Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT"
header "Access-Control-Max-Age", "1728000"
end
포도의 api.rb와 같습니다. 모두가 누군가를 돕기를 바랍니다.
덕분에 많은 도움이되었습니다. – 23tux