diff --git a/site2/website/pages/en/admin-rest-api.js b/site2/website/pages/en/admin-rest-api.js
index 31886c303632d..75be444b7b352 100644
--- a/site2/website/pages/en/admin-rest-api.js
+++ b/site2/website/pages/en/admin-rest-api.js
@@ -6,13 +6,12 @@ const siteConfig = require(`${process.cwd()}/siteConfig.js`);
class AdminRestApi extends React.Component {
render() {
- const swaggerUrl = `${siteConfig.baseUrl}swagger/swagger.json`
+ const swaggerUrl = `${siteConfig.baseUrl}swagger/swagger.json`
return (
-
-
+
);
diff --git a/site2/website/pages/en/functions-rest-api.js b/site2/website/pages/en/functions-rest-api.js
index 62f26b24728e1..a65d74a2b915f 100644
--- a/site2/website/pages/en/functions-rest-api.js
+++ b/site2/website/pages/en/functions-rest-api.js
@@ -11,8 +11,7 @@ class FunctionsRestApi extends React.Component {
return (
-
-
+
);
diff --git a/site2/website/pages/en/sink-rest-api.js b/site2/website/pages/en/sink-rest-api.js
index 090024e988cb4..93e47bea5dc2f 100644
--- a/site2/website/pages/en/sink-rest-api.js
+++ b/site2/website/pages/en/sink-rest-api.js
@@ -11,8 +11,7 @@ class SinkRestApi extends React.Component {
return (
-
-
+
);
diff --git a/site2/website/pages/en/source-rest-api.js b/site2/website/pages/en/source-rest-api.js
index fd72e1a2745ce..1382873758ef7 100644
--- a/site2/website/pages/en/source-rest-api.js
+++ b/site2/website/pages/en/source-rest-api.js
@@ -11,8 +11,7 @@ class SourceRestApi extends React.Component {
return (
-
-
+
);
diff --git a/site2/website/static/js/custom.js b/site2/website/static/js/custom.js
index 555fd41a95cbd..6b4ac94df0964 100644
--- a/site2/website/static/js/custom.js
+++ b/site2/website/static/js/custom.js
@@ -64,6 +64,13 @@ window.addEventListener('load', function() {
}
});
+ const href = document.querySelector('a[href="/en/versions"]');
+ let version = href.textContent;
+
+ if (version === 'next') {
+ version = 'master'
+ }
+
// setup rest api menu items in nav bar
const restapis = document.querySelector("a[href='#restapis']").parentNode;
const restapisMenu =
@@ -71,10 +78,10 @@ window.addEventListener('load', function() {
'' +
'' +
'';
diff --git a/site2/website/static/js/getSwaggerByVersion.js b/site2/website/static/js/getSwaggerByVersion.js
new file mode 100644
index 0000000000000..4f3d2caa71596
--- /dev/null
+++ b/site2/website/static/js/getSwaggerByVersion.js
@@ -0,0 +1,24 @@
+function getSwaggerByVersion(){
+ var params = window.location.search
+ params = params.replace('?', '')
+ const paramsList = params.split('&')
+ var version = 'master'
+ for (var i in paramsList) {
+ var param = paramsList[i].split('=')
+ if (param[0] === 'version') {
+ version = param[1]
+ }
+ }
+ const wrapper = document.querySelector('.pageContainer .wrapper')
+ const redoc = document.createElement('redoc');
+ redoc.setAttribute('spec-url', '/swagger/' + version + '/swagger.json')
+ redoc.setAttribute('lazy-rendering', 'true')
+ const redocLink = document.createElement('script');
+ redocLink.setAttribute('src', 'https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js')
+ const script = document.querySelector('.pageContainer .wrapper script')
+
+ wrapper.insertBefore(redoc, script)
+ wrapper.insertBefore(redocLink, script)
+
+}
+window.onload=getSwaggerByVersion
diff --git a/src/gen-swagger.sh b/src/gen-swagger.sh
index 39e2933aadd12..4d17e57f2e9c0 100755
--- a/src/gen-swagger.sh
+++ b/src/gen-swagger.sh
@@ -22,10 +22,11 @@ PULSAR_PATH=$(git rev-parse --show-toplevel)
cd $PULSAR_PATH
-echo "Generating swagger json file ..."
+git checkout master
+echo "Generating swagger json file for master ..."
mvn -am -pl pulsar-broker install -DskipTests -Pswagger
-echo "Swagger json file is generated."
+echo "Swagger json file is generated for master."
-cp pulsar-broker/target/docs/swagger*.json site2/website/static/swagger/
-echo "Copied swagger json file."
+cp pulsar-broker/target/docs/swagger*.json site2/website/static/swagger/master/
+echo "Copied swagger json file for master."