LINUX.ORG.RU

Есть ли какая-нибудь связка Swagger Core + Codegen + UI для Spring Framework 3.1.1?

 , , , ,


0

2

Есть старый проект на Spring Framework 3.1.1 и к нему нужно добавить документацию по API, с обязательным наличием UI. У приложения имеются несколько REST API для разных клиентов, и очень желательно что бы один клиент не видел эндпоинты другого.

Есть готовое решение из коробки в виде Springfox, но в моём случае начальством запрещено обновлять любые существующие зависимости, а на текущей версии он не работает.

Возможно кто-либо из форумчан знает, как добавить то что мне нужно в такой старый проект? Swagger наиболее желаемый вариант, но возможно есть и другое аналогичное решение, был бы рад если кто-нибудь подсказал.

Полезный вывод mvn dependency:list:

[INFO]    com.headius:invokebinder:jar:1.2:compile
[INFO]    org.webjars:jquery:jar:1.10.2-1:compile
[INFO]    com.itextpdf:itextpdf:jar:5.5.3:compile
[INFO]    com.openhtmltopdf:openhtmltopdf-pdfbox:jar:0.0.1-RC19:compile
[INFO]    org.apache.lucene:lucene-analyzers-common:jar:4.5.1:compile
[INFO]    org.plutext:jaxb-svg11:jar:1.0.2:compile
[INFO]    org.apache.xmlgraphics:batik-transcoder:jar:1.10:compile
[INFO]    com.google.protobuf:protobuf-java:jar:2.5.0:compile
[INFO]    org.quartz-scheduler:quartz:jar:2.2.1:compile
[INFO]    org.codehaus.castor:castor-core:jar:1.3.3:compile
[INFO]    org.springframework:spring-aspects:jar:3.1.1.RELEASE:compile
[INFO]    org.webjars:json2:jar:20110223:compile
[INFO]    org.codehaus.castor:castor-xml:jar:1.3.3:compile
[INFO]    org.codehaus.gmaven.runtime:gmaven-runtime-api:jar:1.3:compile
[INFO]    org.codehaus.groovy:groovy-all:jar:2.4.12:compile
[INFO]    org.eclipse.persistence:org.eclipse.persistence.moxy:jar:2.5.0:compile
[INFO]    org.hsqldb:hsqldb:jar:2.3.3:test
[INFO]    org.springframework:spring-web:jar:3.1.1.RELEASE:compile
[INFO]    org.apache.xmlgraphics:xmlgraphics-commons:jar:2.3:compile
[INFO]    xml-apis:xml-apis-ext:jar:1.3.04:compile
[INFO]    net.arnx:wmf2svg:jar:0.9.8:compile
[INFO]    org.apache.lucene:lucene-core:jar:4.5.1:compile
[INFO]    org.apache.xmlgraphics:batik-bridge:jar:1.10:compile
[INFO]    org.apache.httpcomponents:httpmime:jar:4.5.6:compile
[INFO]    com.thoughtworks.xstream:xstream:jar:1.4.5:compile
[INFO]    org.ow2.asm:asm-analysis:jar:4.0:compile
[INFO]    org.ow2.asm:asm-util:jar:4.0:compile
[INFO]    asm:asm:jar:3.3.1:compile
[INFO]    com.lowagie:itext:jar:2.1.7:compile
[INFO]    javax.servlet:javax.servlet-api:jar:3.0.1:provided
[INFO]    commons-codec:commons-codec:jar:1.9:compile
[INFO]    org.springframework:spring-tx:jar:3.1.1.RELEASE:compile
[INFO]    org.apache.tomcat:tomcat-annotations-api:jar:7.0.68:provided
[INFO]    javax.mail:mail:jar:1.4.7:compile
[INFO]    org.apache.tomcat:tomcat-catalina:jar:7.0.68:provided
[INFO]    javax.xml.bind:jaxb-api:jar:2.1:compile
[INFO]    org.apache.logging.log4j:log4j-core:jar:2.16.0:compile
[INFO]    dom4j:dom4j:jar:1.6.1:compile
[INFO]    com.itextpdf:hyph:jar:7.1.7:compile
[INFO]    com.github.jnr:jffi:jar:1.2.7:compile
[INFO]    org.apache.poi:poi-scratchpad:jar:3.9:compile
[INFO]    c3p0:c3p0:jar:0.9.1.1:compile
[INFO]    org.apache.ant:ant:jar:1.7.0:compile
[INFO]    org.xmlunit:xmlunit-legacy:jar:2.5.1:test
[INFO]    javassist:javassist:jar:3.12.0.GA:compile
[INFO]    org.apache.tomcat:tomcat-util:jar:7.0.68:provided
[INFO]    org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile
[INFO]    org.openoffice:juh:jar:3.0.0:compile
[INFO]    net.sf.opencsv:opencsv:jar:2.3:compile
[INFO]    org.ow2.asm:asm-tree:jar:4.0:compile
[INFO]    com.itextpdf:itext7-core:pom:7.1.7:compile
[INFO]    org.apache.lucene:lucene-queries:jar:4.5.1:compile
[INFO]    org.webjars:handlebars:jar:1.3.0:compile
[INFO]    org.webjars:jslint:jar:c657984cd7:compile
[INFO]    org.webjars:less:jar:1.3.3:compile
[INFO]    com.itextpdf:forms:jar:7.1.7:compile
[INFO]    org.jruby.jcodings:jcodings:jar:1.0.10:compile
[INFO]    javax.activation:activation:jar:1.1.1:compile
[INFO]    com.github.tomakehurst:wiremock-jre8:jar:2.21.0:test
[INFO]    com.thedeanda:lorem:jar:2.1:compile
[INFO]    net.engio:mbassador:jar:1.2.4.2:compile
[INFO]    org.apache.cxf:cxf-rt-ws-addr:jar:2.7.18:compile
[INFO]    org.apache.cxf:cxf-rt-frontend-simple:jar:2.7.18:compile
[INFO]    org.apache.xmlgraphics:batik-script:jar:1.10:compile
[INFO]    org.apache.lucene:lucene-sandbox:jar:4.5.1:compile
[INFO]    jfree:jfreechart:jar:1.0.12:compile
[INFO]    com.itextpdf:sign:jar:7.1.7:compile
[INFO]    commons-lang:commons-lang:jar:2.5:compile
[INFO]    com.martiansoftware:nailgun-server:jar:0.9.1:compile
[INFO]    org.apache.xmlgraphics:batik-gvt:jar:1.10:compile
[INFO]    org.yaml:snakeyaml:jar:1.13:compile
[INFO]    com.mattbertolini:liquibase-slf4j:jar:2.0.0:compile
[INFO]    org.codehaus.gmaven.runtime:gmaven-runtime-support:jar:1.3:compile
[INFO]    com.github.jknack:handlebars:jar:4.1.2:test
[INFO]    org.apache.cxf:cxf-rt-bindings-soap:jar:2.7.18:compile
[INFO]    org.aspectj:aspectjrt:jar:1.6.12:compile
[INFO]    org.springframework.security:spring-security-web:jar:3.1.1.RELEASE:compile
[INFO]    jaxen:jaxen:jar:1.1.6:compile
[INFO]    org.apache.xmlgraphics:batik-dom:jar:1.10:compile
[INFO]    org.springframework:spring-context-support:jar:3.1.1.RELEASE:compile
[INFO]    org.springframework:spring-context:jar:3.1.1.RELEASE:compile
[INFO]    net.minidev:json-smart:jar:2.3:compile
[INFO]    log4j:log4j:jar:1.2.17:compile
[INFO]    org.docx4j:docx4j-export-fo:jar:6.1.0:compile
[INFO]    org.apache.httpcomponents:httpcore:jar:4.4.10:compile
[INFO]    com.itextpdf:styled-xml-parser:jar:7.1.7:compile
[INFO]    org.apache.tiles:tiles-api:jar:2.2.2:compile
[INFO]    net.sf.ehcache:ehcache-core:jar:2.5.1:compile
[INFO]    org.springframework.security:spring-security-config:jar:3.1.1.RELEASE:compile
[INFO]    org.apache.santuario:xmlsec:jar:1.5.8:compile
[INFO]    net.sf.jxls:jxls-reader:jar:1.0.3:compile
[INFO]    org.apache.commons:commons-compress:jar:1.9:compile
[INFO]    com.google.guava:guava:jar:17.0:compile
[INFO]    org.codehaus.plexus:plexus-utils:jar:2.0.1:compile
[INFO]    org.apache.cxf:cxf-rt-frontend-jaxws:jar:2.7.18:compile
[INFO]    antlr:antlr:jar:2.7.7:compile
[INFO]    org.apache.cxf:cxf-rt-bindings-xml:jar:2.7.18:compile
[INFO]    com.thoughtworks.qdox:qdox:jar:1.10:compile
[INFO]    org.springframework:spring-test:jar:3.1.1.RELEASE:compile
[INFO]    org.apache.avalon.framework:avalon-framework-api:jar:4.3.1:compile
[INFO]    org.xhtmlrenderer:flying-saucer-pdf:jar:9.1.16:compile
[INFO]    org.apache.cxf:cxf-rt-ws-policy:jar:2.7.18:compile
[INFO]    org.springframework.security:spring-security-core:jar:3.1.1.RELEASE:compile
[INFO]    com.ibm.icu:icu4j:jar:52.1:compile
[INFO]    org.apache.tomcat:tomcat-juli:jar:7.0.68:provided
[INFO]    org.eclipse.jetty:jetty-http:jar:9.4.14.v20181114:test
[INFO]    commons-collections:commons-collections:jar:3.1:compile
[INFO]    org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile
[INFO]    org.ow2.asm:asm-commons:jar:4.0:compile
[INFO]    com.headius:options:jar:1.2:compile
[INFO]    org.apache.xmlgraphics:fop:jar:2.3:compile
[INFO]    org.slf4j:jcl-over-slf4j:jar:1.6.6:compile
[INFO]    org.opensaml:openws:jar:1.5.1:compile
[INFO]    org.plutext:jaxb-xmldsig-core:jar:1.0.0:compile
[INFO]    org.apache.xmlgraphics:batik-extension:jar:1.10:compile
[INFO]    org.apache.tiles:tiles-template:jar:2.2.2:compile
[INFO]    net.sf.sevenzipjbinding:sevenzipjbinding:jar:9.20-2.00beta:compile
[INFO]    commons-io:commons-io:jar:2.0:compile
[INFO]    com.fasterxml.jackson.core:jackson-core:jar:2.9.8:compile
[INFO]    net.sf.jasperreports:jasperreports:jar:6.1.0:compile
[INFO]    org.springframework:spring-asm:jar:3.1.1.RELEASE:compile
[INFO]    org.springframework:spring-jdbc:jar:3.1.1.RELEASE:compile
[INFO]    org.eclipse.jetty:jetty-util:jar:9.4.14.v20181114:test
[INFO]    org.apache.pdfbox:pdfbox:jar:2.0.3:compile
[INFO]    com.openhtmltopdf:openhtmltopdf-rtl-support:jar:0.0.1-RC19:compile
[INFO]    stax:stax:jar:1.2.0:compile
[INFO]    com.github.jnr:jnr-posix:jar:3.0.3:compile
[INFO]    com.itextpdf:font-asian:jar:7.1.7:compile
[INFO]    org.apache.xmlgraphics:batik-constants:jar:1.10:compile
[INFO]    org.apache.logging.log4j:log4j-api:jar:2.16.0:compile
[INFO]    org.bouncycastle:bcmail-jdk14:jar:1.38:compile
[INFO]    com.github.jnr:jnr-constants:jar:0.8.5:compile
[INFO]    com.jcraft:jzlib:jar:1.1.2:compile
[INFO]    commons-logging:commons-logging:jar:1.0.4:compile
[INFO]    javax.el:el-api:jar:2.2:provided
[INFO]    org.jruby:jruby-stdlib:jar:1.7.14:compile
[INFO]    xpp3:xpp3_min:jar:1.1.4c:compile
[INFO]    org.opensaml:xmltooling:jar:1.4.1:compile
[INFO]    com.itextpdf:layout:jar:7.1.7:compile
[INFO]    commons-beanutils:commons-beanutils:jar:1.8.0:compile
[INFO]    org.bouncycastle:bctsp-jdk14:jar:1.38:compile
[INFO]    org.jruby:yecht:jar:1.0:compile
[INFO]    org.eclipse.jetty:jetty-continuation:jar:9.4.14.v20181114:test
[INFO]    com.github.jnr:jnr-netdb:jar:1.1.2:compile
[INFO]    org.openoffice:ridl:jar:3.0.0:compile
[INFO]    org.apache.xmlbeans:xmlbeans:jar:2.6.0:compile
[INFO]    org.webjars:jshint:jar:2.4.3:compile
[INFO]    org.eclipse.persistence:org.eclipse.persistence.antlr:jar:2.5.0:compile
[INFO]    org.apache.commons:commons-exec:jar:1.1:compile
[INFO]    org.apache.ws.security:wss4j:jar:1.6.19:compile
[INFO]    me.n4u.sass:sass-gems:jar:3.1.19:compile
[INFO]    mysql:mysql-connector-java:jar:5.1.26:compile
[INFO]    jakarta-regexp:jakarta-regexp:jar:1.4:compile
[INFO]    org.apache.cxf:cxf-rt-transports-http:jar:2.7.18:compile
[INFO]    commons-logging:commons-logging-api:jar:1.1:compile
[INFO]    de.rototor.pdfbox:graphics2d:jar:0.21:compile
[INFO]    com.github.jnr:jnr-enxio:jar:0.4:compile
[INFO]    com.github.jnr:jnr-ffi:jar:1.0.7:compile
[INFO]    org.springframework:spring-expression:jar:3.1.1.RELEASE:compile
[INFO]    org.apache.commons:commons-jexl:jar:2.0.1:compile
[INFO]    org.apache.httpcomponents:httpclient:jar:4.5.6:compile
[INFO]    org.codehaus.gmaven.runtime:gmaven-runtime-1.7:jar:1.3:compile
[INFO]    org.apache.xmlgraphics:batik-svg-dom:jar:1.10:compile
[INFO]    javax.servlet.jsp:jsp-api:jar:2.2:provided
[INFO]    org.mockito:mockito-all:jar:1.10.19:test
[INFO]    org.springframework:spring-aop:jar:3.1.1.RELEASE:compile
[INFO]    org.webjars:emberjs:jar:1.5.0:compile
[INFO]    org.xhtmlrenderer:flying-saucer-core:jar:9.1.16:compile
[INFO]    xml-resolver:xml-resolver:jar:1.2:compile
[INFO]    com.github.jnr:jnr-x86asm:jar:1.0.2:compile
[INFO]    com.itextpdf:pdfa:jar:7.1.7:compile
[INFO]    bouncycastle:bcmail-jdk14:jar:138:compile
[INFO]    xpp3:xpp3:jar:1.1.4c:compile
[INFO]    commons-digester:commons-digester:jar:2.0:compile
[INFO]    org.sonatype.gshell:gshell-io:jar:2.0:compile
[INFO]    com.itextpdf:barcodes:jar:7.1.7:compile
[INFO]    aopalliance:aopalliance:jar:1.0:compile
[INFO]    com.itextpdf:io:jar:7.1.7:compile
[INFO]    xalan:serializer:jar:2.7.1:compile
[INFO]    org.bouncycastle:bcprov-jdk14:jar:1.38:compile
[INFO]    org.eclipse.jdt.core.compiler:ecj:jar:4.3.1:compile
[INFO]    org.webjars:coffee-script:jar:1.8.0:compile
[INFO]    io.gsonfire:gson-fire:jar:1.8.4:compile
[INFO]    org.dom4j:dom4j:jar:2.1.0:compile
[INFO]    javax.servlet:jstl:jar:1.2:compile
[INFO]    xml-apis:xml-apis:jar:1.4.01:compile
[INFO]    com.google.zxing:core:jar:2.3.0:compile
[INFO]    org.slf4j:slf4j-log4j12:jar:1.7.5:compile
[INFO]    org.apache.ws.xmlschema:xmlschema-core:jar:2.1.0:compile
[INFO]    com.github.jknack:handlebars-helpers:jar:4.1.2:test
[INFO]    args4j:args4j:jar:2.0.26:compile
[INFO]    org.apache.tiles:tiles-jsp:jar:2.2.2:compile
[INFO]    org.aspectj:aspectjweaver:jar:1.6.8:compile
[INFO]    org.apache.cxf:cxf-rt-databinding-jaxb:jar:2.7.18:compile
[INFO]    org.webjars:webjars-locator:jar:0.19:compile
[INFO]    org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile
[INFO]    org.jruby.joni:joni:jar:2.1.1:compile
[INFO]    net.sf.jxls:jxls-core:jar:1.0.3:compile
[INFO]    org.apache.xmlgraphics:batik-anim:jar:1.10:compile
[INFO]    fr.opensagres.xdocreport:xdocreport:jar:1.0.3:compile
[INFO]    org.apache.tiles:tiles-core:jar:2.2.2:compile
[INFO]    org.ow2.asm:asm:jar:7.0:compile
[INFO]    com.google.javascript:closure-compiler-externs:jar:v20140814:compile
[INFO]    com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO]    jline:jline:jar:0.9.94:compile
[INFO]    org.apache.tiles:tiles-servlet:jar:2.2.2:compile
[INFO]    org.openoffice:unoil:jar:3.0.0:compile
[INFO]    com.google.code.gson:gson:jar:2.8.6:compile
[INFO]    org.docx4j:docx4j:jar:6.1.0:compile
[INFO]    org.hibernate:hibernate-entitymanager:jar:3.6.10.Final:compile
[INFO]    com.github.lltyk:dojo-shrinksafe:jar:1.7.2:compile
[INFO]    com.itextpdf:svg:jar:7.1.7:compile
[INFO]    org.apache.commons:commons-collections4:jar:4.1:compile
[INFO]    org.hibernate:hibernate-core:jar:3.6.10.Final:compile
[INFO]    xerces:xercesImpl:jar:2.11.0:compile
[INFO]    org.freemarker:freemarker:jar:2.3.25-incubating:compile
[INFO]    org.opensaml:opensaml:jar:2.6.1:compile
[INFO]    wsdl4j:wsdl4j:jar:1.6.3:compile
[INFO]    org.hibernate:hibernate-commons-annotations:jar:3.2.0.Final:compile
[INFO]    com.openhtmltopdf:openhtmltopdf-core:jar:0.0.1-RC19:compile
[INFO]    org.apache.xmlgraphics:batik-util:jar:1.10:compile
[INFO]    ro.isdc.wro4j:wro4j-extensions:jar:1.7.7:compile
[INFO]    org.apache.cxf:cxf-rt-core:jar:2.7.18:compile
[INFO]    javax.inject:javax.inject:jar:1:compile
[INFO]    com.jayway.jsonpath:json-path:jar:2.4.0:compile
[INFO]    org.apache.neethi:neethi:jar:3.0.3:compile
[INFO]    org.apache.xmlgraphics:batik-i18n:jar:1.10:compile
[INFO]    javax.transaction:jta:jar:1.1:compile
[INFO]    javax.xml.stream:stax-api:jar:1.0-2:compile
[INFO]    org.eclipse.persistence:org.eclipse.persistence.asm:jar:2.5.0:compile
[INFO]    org.openoffice:jurt:jar:3.0.0:compile
[INFO]    com.google.javascript:closure-compiler:jar:v20140814:compile
[INFO]    xalan:xalan:jar:2.7.1:compile
[INFO]    org.docx4j:xhtmlrenderer:jar:3.0.0:compile
[INFO]    nz.co.edmi:bourbon-gem-jar:jar:2.1.0:compile
[INFO]    commons-fileupload:commons-fileupload:jar:1.2.2:compile
[INFO]    org.springframework:spring-core:jar:3.0.7.RELEASE:compile
[INFO]    org.liquibase:liquibase-core:jar:3.2.3:compile
[INFO]    org.apache.cxf:cxf-api:jar:2.7.18:compile
[INFO]    org.jsoup:jsoup:jar:1.10.2:compile
[INFO]    com.fasterxml.jackson.core:jackson-databind:jar:2.6.3:compile
[INFO]    net.sf.sevenzipjbinding:sevenzipjbinding-all-platforms:jar:9.20-2.00beta:compile
[INFO]    com.linuxense:javadbf:jar:0.4.0:compile
[INFO]    stax:stax-api:jar:1.0.1:compile
[INFO]    com.googlecode.libphonenumber:libphonenumber:jar:8.4.3:compile
[INFO]    org.apache.cxf:cxf-rt-ws-security:jar:2.7.18:compile
[INFO]    org.apache.tomcat:tomcat-api:jar:7.0.68:provided
[INFO]    org.apache.xmlgraphics:batik-awt-util:jar:1.10:compile
[INFO]    org.plutext:jaxb-xslfo:jar:1.0.1:compile
[INFO]    org.springframework:spring-webmvc:jar:3.1.1.RELEASE:compile
[INFO]    org.eclipse.jetty:jetty-servlets:jar:9.4.14.v20181114:test
[INFO]    org.antlr:stringtemplate:jar:3.2:compile
[INFO]    org.apache.xmlgraphics:batik-xml:jar:1.10:compile
[INFO]    com.itextpdf:kernel:jar:7.1.7:compile
[INFO]    net.minidev:accessors-smart:jar:1.2:compile
[INFO]    org.apache.avalon.framework:avalon-framework-impl:jar:4.3.1:compile
[INFO]    org.springframework:spring-orm:jar:3.1.1.RELEASE:compile
[INFO]    org.apache.lucene:lucene-queryparser:jar:4.5.1:compile
[INFO]    ro.isdc.wro4j:rhino:jar:1.7R5-20130223-1:compile
[INFO]    org.eclipse.jetty:jetty-server:jar:9.4.14.v20181114:test
[INFO]    joda-time:joda-time:jar:2.7:compile
[INFO]    org.apache.poi:poi-ooxml-schemas:jar:3.15:compile
[INFO]    com.github.virtuald:curvesapi:jar:1.04:compile
[INFO]    org.apache.pdfbox:fontbox:jar:2.0.3:compile
[INFO]    org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.7.1:compile
[INFO]    xmlpull:xmlpull:jar:1.1.3.1:compile
[INFO]    cglib:cglib-nodep:jar:2.2:compile
[INFO]    org.xmlunit:xmlunit-core:jar:2.5.1:test
[INFO]    org.apache.xmlgraphics:batik-parser:jar:1.10:compile
[INFO]    org.hamcrest:hamcrest-core:jar:1.3:test
[INFO]    org.antlr:antlr-runtime:jar:3.2:compile
[INFO]    org.slf4j:slf4j-api:jar:1.7.5:compile
[INFO]    org.olap4j:olap4j:jar:1.2.0:compile
[INFO]    ro.isdc.wro4j:wro4j-core:jar:1.7.7:compile
[INFO]    org.codehaus.woodstox:woodstox-core-asl:jar:4.4.1:compile
[INFO]    org.codehaus.gmaven.feature:gmaven-feature-support:jar:1.3:compile
[INFO]    org.apache.pdfbox:xmpbox:jar:2.0.14:compile
[INFO]    org.apache.tomcat:tomcat-servlet-api:jar:7.0.68:provided
[INFO]    com.github.sommeri:less4j:jar:1.8.2:compile
[INFO]    org.eclipse.jetty:jetty-servlet:jar:9.4.14.v20181114:test
[INFO]    com.opencsv:opencsv:jar:3.10:compile
[INFO]    com.haulmont.yarg:yarg-api:jar:2.1.6:compile
[INFO]    net.sf.jopt-simple:jopt-simple:jar:3.0:compile
[INFO]    org.apache.commons:commons-lang3:jar:3.1:compile
[INFO]    org.apache.xmlgraphics:batik-ext:jar:1.10:compile
[INFO]    org.docx4j:docx4j-ImportXHTML:jar:6.1.0:compile
[INFO]    org.apache.ant:ant-launcher:jar:1.7.0:compile
[INFO]    org.springframework:spring-beans:jar:3.1.1.RELEASE:compile
[INFO]    com.haulmont.yarg:yarg:jar:2.1.6:compile
[INFO]    com.sun.xml.bind:jaxb-impl:jar:2.1.13:compile
[INFO]    com.flipkart.zjsonpatch:zjsonpatch:jar:0.4.4:test
[INFO]    org.apache.poi:poi-ooxml:jar:3.15:compile
[INFO]    commons-validator:commons-validator:jar:1.7:compile
[INFO]    commons-pool:commons-pool:jar:1.6:compile
[INFO]    org.eclipse.persistence:org.eclipse.persistence.core:jar:2.5.0:compile
[INFO]    org.apache.xmlgraphics:batik-svggen:jar:1.10:compile
[INFO]    com.github.jnr:jffi:jar:native:1.2.7:compile
[INFO]    org.jruby:jruby-core:jar:1.7.14:compile
[INFO]    org.eclipse.jetty:jetty-security:jar:9.4.14.v20181114:test
[INFO]    jfree:jcommon:jar:1.0.15:compile
[INFO]    org.codehaus.gmaven.feature:gmaven-feature-api:jar:1.3:compile
[INFO]    org.eclipse.jetty:jetty-io:jar:9.4.14.v20181114:test
[INFO]    org.apache.xmlgraphics:batik-css:jar:1.10:compile
[INFO]    bouncycastle:bcprov-jdk14:jar:138:compile
[INFO]    com.github.jnr:jnr-unixsocket:jar:0.3:compile
[INFO]    org.codehaus.woodstox:stax2-api:jar:3.1.4:compile
[INFO]    junit:junit:jar:4.12:test
[INFO]    org.eclipse.jetty:jetty-xml:jar:9.4.14.v20181114:test
[INFO]    com.fasterxml.jackson.core:jackson-annotations:jar:2.9.8:compile
[INFO]    org.jruby.extras:bytelist:jar:1.0.11:compile
[INFO]    org.apache.poi:poi:jar:3.15:compile
[INFO]    org.json:json:jar:20090211:compile
[INFO]    org.eclipse.jetty:jetty-webapp:jar:9.4.14.v20181114:test

springdoc-openapi-starter-webmvc-ui соответствующей версии (какой-нить 2.0.2). Прописать в коде:

.requestMatchers("/v3/api-docs/**", "/swagger-ui/**").permitAll() 
ну и в конфиге настроить кому чего показывать и т.п.

Какие вообще проблемы-то?

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 2)
Ответ на: комментарий от vbr

У меня 500+ контроллеров, весьма геморно их все описывать. Плюс другие разработчики могут лениться и не вносить новые эндпоинты или не редактировать описание страрых.

BratecLis
() автор топика
Ответ на: комментарий от BratecLis

Если контролеры примерно похожи друг на друга и структура запросов/ответов не сложная, напиши код, генерирующий yaml, а дальше как я написал. С рефлекшном это не должно быть сложно.

Ну или ковыряйся с древними версиями зависимостей. Так-то это всё уже написано давно, но с твоими ограничениями может быть проще переписать самому, чем разбираться с лапшой зависимостей.

Но вообще изменять API это харам. Я бы посоветовал подходить к этому вопросу более ответственно. Сначала разрабатывается API в виде формального openapi документа, потом по нему вручную или автоматически пишутся интерфейсы со стороны сервера и клиента и на стороне сервера пишется реализация. Ситуация, когда на сервере кто-то от балды меняет API, особо не задумываясь о последствиях это верный способ потратить потом больше времени и нервов, разбираясь с клиентами, у которых всё сломалось.

Именно поэтому я считаю, что, хотя генерировать yaml из кода это не ахти какая сложная задача, но тем не менее фича это скорей вредная и правильно подходить к этому вопросу именно со стороны разработки yaml документа вручную.

vbr ★★★
()
Последнее исправление: vbr (всего исправлений: 2)

Swagger наиболее желаемый вариант

Когда-то пользовался, но давно, с тех пор много воды утекло, многое улучшили, многое поломали, сейчас сходу и не вспомню, как настроить, увы.

BattleCoder ★★★★★
()