Вам все еще нужно зарегистрировать OpenApi ресурсы . Это классы ресурсов JAX-RS, которые обслуживают JSON. Поскольку вы используете web.xml для своей конфигурации, вы можете просто добавить пакет swagger в список пакетов для сканирования.
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>
com.example,
io.swagger.v3.jaxrs2.integration.resources
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Обратите внимание, что я добавил пакет io.swagger.v3.jaxrs2.integration.resources
в список, разделенный запятой. Это скажет Джерси сканировать этот пакет, и он обнаружит и зарегистрирует как AcceptHeaderOpenApiResource
, так и OpenApiResource
. Разница между ними заключается в том, что первый обслуживает путь /openapi
, а формат данных определяется заголовком Accept
в запросе, а второй обслуживает путь /openapi.{type:json|yaml}
, где формат данных определяется расширение (.json или .yaml) в пути.