-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question: How can I embed swagger UI? #362
Comments
I need get all interface doc by httprouter, including, but not limited swagger, Now, is there any other ready-made solution? |
Here's a vanilla solution, no server side dependencies: Have a folder called <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="SwaggerUI" />
<title>SwaggerUI</title>
<link
rel="stylesheet"
href="https://unpkg.com/swagger-ui-dist@4.5.0/swagger-ui.css"
/>
</head>
<body>
<div id="swagger-ui"></div>
<script
src="https://unpkg.com/swagger-ui-dist@4.5.0/swagger-ui-bundle.js"
crossorigin
></script>
<script
src="https://unpkg.com/swagger-ui-dist@4.5.0/swagger-ui-standalone-preset.js"
crossorigin
></script>
<script>
window.onload = () => {
var url = window.location.search.substring(1);
if (url.length == 0) {
url = "swagger.yaml";
}
window.ui = SwaggerUIBundle({
url: url,
dom_id: "#swagger-ui",
deepLinking: true,
presets: [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset],
plugins: [SwaggerUIBundle.plugins.DownloadUrl],
layout: "StandaloneLayout",
});
};
</script>
</body>
</html> Note: if you're using .json change the swagger.yaml to swagger.json. Then static serve the folder from your httprouter router.ServeFiles("/swagger/*filepath", http.Dir("swagger")) This will serve the swagger ui file from localhost:4000/swagger/swagger.html Aside: For generation from source code I use Use swag or similar to annotate your route handlers swag init -g cmd/api/main.go -o ./swagger outputs swag files to a folder called swagger If anyone wants an example repo, comment asking for one, and I'll make one when I have time |
* fix documentation for creating an HTTPScaledObject Signed-off-by: Marco Piovesana <piovesana@esteco.com> * chore: Allow blank issues (julienschmidt#352) Signed-off-by: Tom Kerkhove <kerkhove.tom@gmail.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Bump github.com/magefile/mage from 1.11.0 to 1.12.1 (julienschmidt#360) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Bump google.golang.org/grpc from 1.42.0 to 1.43.0 (julienschmidt#358) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * converting bug report issue template to a form issue (julienschmidt#363) Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Allowing cluster-global operation (julienschmidt#269) * Allowing cluster-global operation Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * passing less unnecessary data in the operator Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * setting namespace Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * updating tests: Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * Updating deployment cache interfaces To accommodate multi-namespace gets and watches Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * starting on deployment cache informer Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * switching over to informer-based deployment cache Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * fixing test compile errors and merging fake and in-memory deployment caches Signed-off-by: Aaron <aaron@ecomaz.net> * fixing tests Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * fixing more compile errs Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * improving logging, and several other small changes Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * go mod tidy Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * Adding config validation Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * improving ns and svc name var names to indicate interceptor Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * running go mod tidy Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * removing unused code Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * passing a function to transform target to in-cluster URL Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * not requiring namespace for operator Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * splitting namespace config for operator into watch and current Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * removing appInfo, passing current namespace everywhere in its place Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * using proper namespace when creating scaled object Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * allowing xkcd chart to set ingress namespace Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * printing namespace in error Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * using proper fully-qualified hostname of external scaler in scaledobject Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * adding note on cluster-global vs. namespaced mode Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * adding note about installing the xkcd chart in cluster-global mode Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * fixing hostname test Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * merging scaler queue counts with routing table hosts. removing merge functionality from interceptors Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * fix assumption in tests that queue has all hosts from routing table Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * adding test for MergeCountsWithRoutingTable Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * sleep for longer to wait for server to start Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * adding handler test for merging hosts Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * adding test to GetMetrics test cases for host not in queue pinger Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Return custom header when request was returned from a cold start (julienschmidt#366) * Add X-KEDA-HTTP-Cold-Start header - Add X-KEDA-HTTP-Cold-Start header - Change signature of forwardWaitFunc to include deployment.Status.ReadyReplicas Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> * Update tests for X-KEDA-HTTP-Cold-Start header Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> * Update interceptor/main_test.go Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com> Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> * add bracket Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Updating dependencies (julienschmidt#348) * updating dependencies Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * NullLogger => Discard() Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * removing redundant import Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * updating to use go 1.17.2 Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * upgrading vulnerable packages Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * upgrading sftp Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> * force-upgrading sftp Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Bump go.uber.org/zap from 1.19.1 to 1.20.0 (julienschmidt#362) Bumps [go.uber.org/zap](https://github.com/uber-go/zap) from 1.19.1 to 1.20.0. - [Release notes](https://github.com/uber-go/zap/releases) - [Changelog](https://github.com/uber-go/zap/blob/master/CHANGELOG.md) - [Commits](uber-go/zap@v1.19.1...v1.20.0) --- updated-dependencies: - dependency-name: go.uber.org/zap dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Bump github.com/go-logr/zapr from 0.4.0 to 1.2.2 (julienschmidt#357) Bumps [github.com/go-logr/zapr](https://github.com/go-logr/zapr) from 0.4.0 to 1.2.2. - [Release notes](https://github.com/go-logr/zapr/releases) - [Commits](go-logr/zapr@v0.4.0...v1.2.2) --- updated-dependencies: - dependency-name: github.com/go-logr/zapr dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Bump k8s.io/apimachinery from 0.23.1 to 0.23.2 (julienschmidt#376) Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.23.1 to 0.23.2. - [Release notes](https://github.com/kubernetes/apimachinery/releases) - [Commits](kubernetes/apimachinery@v0.23.1...v0.23.2) --- updated-dependencies: - dependency-name: k8s.io/apimachinery dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Bump k8s.io/client-go from 0.23.1 to 0.23.2 (julienschmidt#375) Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.23.1 to 0.23.2. - [Release notes](https://github.com/kubernetes/client-go/releases) - [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md) - [Commits](kubernetes/client-go@v0.23.1...v0.23.2) --- updated-dependencies: - dependency-name: k8s.io/client-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Compile binaries and docker images with git SHA (julienschmidt#377) * Compile binaries and docker images with git SHA Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> Signed-off-by: Ubuntu <azureuser@vm1.dwkkbikwkshepl1jlyp52keone.bx.internal.cloudapp.net> * Fix test Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> Signed-off-by: Ubuntu <azureuser@vm1.dwkkbikwkshepl1jlyp52keone.bx.internal.cloudapp.net> * Apply suggestions from @arschles Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com> Signed-off-by: Ubuntu <azureuser@vm1.dwkkbikwkshepl1jlyp52keone.bx.internal.cloudapp.net> Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Bump github.com/onsi/gomega from 1.17.0 to 1.18.0 (julienschmidt#378) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Configure WhiteSource Bolt for GitHub (julienschmidt#379) Co-authored-by: whitesource-bolt-for-github[bot] <42819689+whitesource-bolt-for-github[bot]@users.noreply.github.com> Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * adding targetPendingRequests to the xkcd helm chart (julienschmidt#373) Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * fixing targetPendingRequests in the HTTPScaledObject v0.2.0 documentation (julienschmidt#372) Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Add TestStreamIsActive (#384) * Return IsActive error vs log and continue Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> * Add TestStreamIsActive Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> * Bump github.com/onsi/gomega from 1.17.0 to 1.18.0 (julienschmidt#378) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> * Configure WhiteSource Bolt for GitHub (julienschmidt#379) Co-authored-by: whitesource-bolt-for-github[bot] <42819689+whitesource-bolt-for-github[bot]@users.noreply.github.com> Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com> Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> * adding targetPendingRequests to the xkcd helm chart (julienschmidt#373) Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> * fixing targetPendingRequests in the HTTPScaledObject v0.2.0 documentation (julienschmidt#372) Signed-off-by: Aaron Schlesinger <aaron@ecomaz.net> Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> * defer grpcServer.Stop() Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com> Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> * Don't check error for gprServer Signed-off-by: Aaron Wislang <aaron.wislang@microsoft.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: whitesource-bolt-for-github[bot] <42819689+whitesource-bolt-for-github[bot]@users.noreply.github.com> Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com> Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Bump go.uber.org/zap from 1.20.0 to 1.21.0 (#394) Bumps [go.uber.org/zap](https://github.com/uber-go/zap) from 1.20.0 to 1.21.0. - [Release notes](https://github.com/uber-go/zap/releases) - [Changelog](https://github.com/uber-go/zap/blob/master/CHANGELOG.md) - [Commits](uber-go/zap@v1.20.0...v1.21.0) --- updated-dependencies: - dependency-name: go.uber.org/zap dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#390) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.43.0 to 1.44.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](grpc/grpc-go@v1.43.0...v1.44.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Bump github.com/onsi/gomega from 1.18.0 to 1.18.1 (#393) Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.18.0 to 1.18.1. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](onsi/gomega@v1.18.0...v1.18.1) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Bump k8s.io/apimachinery from 0.23.2 to 0.23.3 (#392) Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.23.2 to 0.23.3. - [Release notes](https://github.com/kubernetes/apimachinery/releases) - [Commits](kubernetes/apimachinery@v0.23.2...v0.23.3) --- updated-dependencies: - dependency-name: k8s.io/apimachinery dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Bump k8s.io/api from 0.23.2 to 0.23.3 (#389) Bumps [k8s.io/api](https://github.com/kubernetes/api) from 0.23.2 to 0.23.3. - [Release notes](https://github.com/kubernetes/api/releases) - [Commits](kubernetes/api@v0.23.2...v0.23.3) --- updated-dependencies: - dependency-name: k8s.io/api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> * Update docs/walkthrough.md Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com> Signed-off-by: Marco Piovesana <piovesana@esteco.com> Co-authored-by: mpiovesana <mpiovesana@flamingo.local> Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Aaron Schlesinger <70865+arschles@users.noreply.github.com> Co-authored-by: Aaron Wislang <asw101@users.noreply.github.com> Co-authored-by: whitesource-bolt-for-github[bot] <42819689+whitesource-bolt-for-github[bot]@users.noreply.github.com>
How can I embed swagger UI? For example like so:
The text was updated successfully, but these errors were encountered: