Reputation: 3188
I am using springfox's swagger implementation. I would like to modify the swagger-ui.html to take a custom header value. How do I modify this file? Or tell spring fox to use an alternate file?
Upvotes: 9
Views: 28188
Reputation: 2938
Pull Swagger UI from github.
Copy & paste dist directory of swagger ui to resources directory
Replace the code with below in swagger config
replace
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
with
registry.addResourceHandler("**").addResourceLocations("classpath:/dist/");
Change the api docs path in index.html to your path
Replace
http://petstore.swagger.io/v2/swagger.json
With
http://localhost:8080/your_app/v2/api-docs
Use the below url pattern to see the ui page
Upvotes: 4
Reputation: 31
Yes, pull the swagger ui into your project and follow the steps here: https://github.com/springfox/springfox/issues/1176
Then edit the index.html and change where it points to the petstore to your endpoint. ( i.e. "http://localhost:8080/MyProjectName/v2/api-docs");
$(function () {
var url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "http://petstore.swagger.io/v2/swagger.json";
Upvotes: 1
Reputation: 5487
If you're going to customize swagger-ui quite a bit, I would just recommend adding a private copy of swagger-ui to your web application resources and modify the ui based on your needs.
Swagger-ui bundled with springfox is optional.
Upvotes: 3