Ich habe eine Maven Feder Anwendung, die Jersey für eine REST API verwendet. Ich habe eine Eigenschaftendatei für jede der Umgebungen, für die ich den Code bereitstellen möchte.Wie man Jersey und swagger-ui mit Eigenschaftendatei für das Setzen der URL-Variable einrichtet?
Zum Beispiel sieht dev.properties
wie:
hostUrl=https://dev.foo.net/
basePathUrl=/bar/restapi
Und test.properties sieht aus wie
hostUrl=https://test.foo.net/
basePathUrl=/bar/restapi
ich Frühling Bohnen dann Prahlerei für jede Umgebung konfigurieren:
<bean id="beanConfig" class="io.swagger.jaxrs.config.BeanConfig">
<property name="title" value="Swagger App"/>
<property name="version" value="1.0.0" />
<property name="schemes" value="http" />
<property name="host" value="#{envSpecificProperties.hostUrl}" />
<property name="basePath" value="#{envSpecificProperties.basePathUrl}"/>
<property name="resourcePackage" value="com.foo.bar.rest"/>
<property name="scan" value="true"/>
</bean>
<context:property-placeholder
properties-ref="envSpecificProperties" />
<util:properties id="envSpecificProperties"
location="WEB-INF/classes/file-#{xjpEnvironment.domain}.properties" />
<xjp:environment />
Meine Frage ist, wie kann ich die gleichen Eigenschaften Dateien für die Einrichtung von 0 verwendenin index.html
so dass swagger-ui
muss nicht hart wie dieses und
<script type="text/javascript">
$(function() {
var url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "http://localhost:8080/foo/bar/restapi/swagger.json";
}
codiert werden kann stattdessen dynamisch mit den Eigenschaften von Dateien in irgendeiner Weise wie eingestellt werden:
<script type="text/javascript">
$(function() {
var url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "#{beanConfig.host}" + "#{beanConfig.basePath}" + "swagger.json";
}
Bitte lassen Sie mich wissen, ob dies ist möglich mit Maven Swagger Trikot und Frühling.
Danke!
Dies führte mich zu 'url = window.location.protocol + "//" + window.location.host + "/" + window.location.pathname.split (‘/') [1] + "/" + "api/swagger.json"; ' Was scheint zu funktionieren. Vielen Dank! – user2719805