1


我注意到,在使用 JAX-RS 和 Swagger UI 依赖项构建 Thorntail REST 应用程序时,Swagger UI 生成的 REST 调用使用https而不是http。这是我正在使用的 REST 服务:

@Path("/time")
@Api(value = "/time", description = "Get the time", tags = "time")
@Produces(MediaType.APPLICATION_JSON)
public class HelloWorldEndpoint {

    @GET
    @Path("/now")
    @ApiOperation(value = "Get the current time",
            notes = "Returns the time as a string",
            response = String.class
    )
    @Produces(MediaType.APPLICATION_JSON)
    public String get() {
        return String.format("{\"value\" : \"The time is %s\"}", new Date());
    }
}

和依赖项:

<dependency>
  <groupId>io.thorntail</groupId>
  <artifactId>swagger</artifactId>
</dependency>
 <dependency>
  <groupId>io.thorntail</groupId>
  <artifactId>jaxrs</artifactId>
</dependency>
<dependency>
  <groupId>io.thorntail</groupId>
  <artifactId>swagger-webapp</artifactId>
</dependency>

在这种情况下,生成的 REST 调用是:

curl -X GET "https://localhost:8080/time/now" -H  "accept: application/json"

返回:

curl: (35) SSL received a record that exceeded the maximum permissible length.

是否有任何参数(@Api?)强制使用 'http' 而不是 'https' ?

4

1 回答 1

0

在我这边,我在 project-defaults.yml 中使用了这个配置

thorntail:
  deployment:
    my-webapp.war:
      swagger:
        schemes:
          - http
于 2019-02-05T10:14:51.933 回答