मैं वसंत बूट + जर्सी + स्प्रिंग सुरक्षा का उपयोग कर रहा है, मैं सार्वजनिक और निजी अंतिमबिंदुओं करना चाहते हैं, मैं इस प्रकार एक स्कीमा हैं:उपयोग अलग अलग रास्तों
- / आराम - मेरी जड़ संदर्भ
- /सार्वजनिक - मैं इस संदर्भ में मेरी सार्वजनिक अंतिमबिंदुओं रखना चाहते हैं, यह
/rest/public/pings
- /निजी की तरह जड़ संदर्भ के अंदर होना चाहिए - मैं चाहता हूँ प्लेसमेंट ई इस संदर्भ में मेरे निजी अंतिमबिंदुओं, ऐसा लगता है कि
/rest/private/accounts
जड़ संदर्भ के अंदर होना चाहिए मैं इस प्रकार मेरी विन्यास है:
जर्सी विन्यास:
@Configuration
@ApplicationPath("/rest")
public class RestConfig extends ResourceConfig {
public RestConfig() {
register(SampleResource.class);
}
}
स्प्रिंग सुरक्षा कॉन्फ़िगरेशन:
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
........
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/rest/public/**").permitAll();
http.antMatcher("/rest/**").authorizeRequests().anyRequest().fullyAuthenticated().and().httpBasic();
http.csrf().disable();
}
}
सवाल यह है कि मैं अपने/बाकी संदर्भ के अंदर दो आवेदन पथ कैसे पंजीकृत कर सकता हूं, एक/सार्वजनिक और दूसरे के लिए/निजी?
नोट: मैं इस प्रकार एक और ResourceConfig बनाने की कोशिश की:
@Configuration
@ApplicationPath("/rest/public")
public class RestPublicConfig extends ResourceConfig{
public RestPublicConfig() {
register(PingResource.class);
}
}
लेकिन मैं अगले त्रुटि हो रही है:
No qualifying bean of type [org.glassfish.jersey.server.ResourceConfig] is defined: expected single matching bean but found 2: restConfig,restPublicConfig
आपकी मदद :)
हाँ, मैं इस बात को समझ, लेकिन मैं कई सार्वजनिक अंतिमबिंदुओं बनाना चाहते हैं , और इस तरह से मैं केवल इस वर्ग का उपयोग कर सकता हूं। –