2016-03-24 16 views
11

मैं एक सेवा है, जहां स्वैगर यूआई पर पहुँचा जा सकता है चल रहा हूँ:Springfox स्वैगर के लिए basePath बदलने के लिए 2.0

http://proxyURL/serviceName 

:

http://serviceURL/swagger-ui.html 

हालांकि, यह एक प्रॉक्सी के पीछे इस तरह के रूप में है,

http://proxyURL/ 
प्रत्यय के रूप में SERVICENAME के ​​साथ वास्तविक URL के बजाय

: स्वैगर यूआई द्वारा बनाए गए URL की तरह देख रहे हैं। जहां तक ​​मुझे यह मिलता है, इसका मतलब बेसपैथ संपत्ति में हेरफेर करना है। दस्तावेज़ीकरण के अनुसार:

एक swagger एपीआई दस्तावेज अब विभिन्न आधार पथों पर संचालन का वर्णन नहीं कर सकता है। 1.2 और इससे पहले, प्रत्येक संसाधन में एक अलग बेसपाथ हो सकता था। 2.0 में, बेसपैथ समकक्ष (योजनाएं + होस्ट + बेसपाथ) पूरे विनिर्देश के लिए परिभाषित किए गए हैं।

@ एपीआई (बेसपाथ) को बहिष्कृत किया गया है, और यह नहीं कहता कि इसका उपयोग कैसे करें और इसका उपयोग कैसे करें। स्वैगर द्वारा उत्पन्न पथ कैसे ठीक से दिखते हैं?

मैं स्प्रिंग बूट, स्प्रिंगफ़ॉक्स स्वैगर और एनोटेशन का उपयोग कर रहा हूं।

+0

क्या आप इस @Martin को हल करने में सक्षम थे? – Sampada

+2

मैंने अभी डॉकेट.pathMapping ("serviceName") किया है, लेकिन मुझे लगता है कि यह स्प्रिंगफ़ॉक्स में अनुपलब्ध कार्यक्षमता के लिए सिर्फ एक कच्चा कामकाज है, अभी भी एक उत्तर की प्रतीक्षा कर रहा है –

+2

Iḿ एक ही चीज़ की तलाश में है .. –

उत्तर

0
@Bean 
public Docket newsApi(ServletContext servletContext) { 
    return new Docket(DocumentationType.SWAGGER_2).pathProvider(new RelativePathProvider(servletContext) { 
     @Override 
     public String getApplicationBasePath() { 
      return "/serviceName" + super.getApplicationBasePath(); 
     } 
    }).host("proxyURL"); 
} 
संबंधित मुद्दे