7
votes

I am experiencing an issue using springfox-swagger2 v2.2.0 related to the request padding port 80 for a HTTP URL.

Is there anyway to disable the generation of the port or set the port to 443 programmatically based on a Spring Profile?

Generated CURL:

curl -X GET --header "Accept: application/json" "https://test.com:80/api/users/search"

2
I'm also interested in a solution - same problem here. - flexguse
Are u having the service sit behind load balancers that is causing this to happen by any chance? - Dilip Krishnan
@DilipKrishnan That's exactly what I have. I have ELB with SSL point to a server. - Maksim
@DilipKrishnan - The services are deployed out to a Pivotal Cloud Foundry instance. - jz15
Upgrading to springfox 2.6.1 and spring 4.2+ will fix the issue. - Dilip Krishnan

2 Answers

4
votes

Hit the same issue, but rather than upgrade the spring framework libraries as per @Akshay answer (thanks for pointing out the Swagger2Controller.class), I added the following property to my application-dev.yml file (replace hostname with your host).

springfox.documentation.swagger.v2.host: hostName:443

1
votes

I had the same issue. It is because Swagger uses a class from Spring Framework which is adding the port 80 to the host property in the /v2/api-docs json response (Check Swagger2Controller.class). I had this issue with spring framework version 4.1.4.Release. Upgrading to latest version 4.3.2.Release fixed it.