मुझे एक काम कर रहे वसंत बूट आराम सेवा मिल गई। जब पथ गलत होता है तो यह कुछ भी वापस नहीं करता है। कोई प्रतिक्रिया नहीं। साथ ही यह त्रुटि भी फेंक नहीं देता है। आदर्श रूप से मुझे उम्मीद है कि 404 त्रुटि नहीं मिली है।स्प्रिंग बूट रेस्ट - 404 को कॉन्फ़िगर कैसे करें - संसाधन नहीं मिला
मैं एक GlobalErrorHandler
@ControllerAdvice
public class GlobalErrorHandler extends ResponseEntityExceptionHandler {
}
मिला वहाँ ResponseEntityExceptionHandler में इस विधि
protected ResponseEntity<Object> handleNoHandlerFoundException(NoHandlerFoundException ex, HttpHeaders headers,
HttpStatus status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
}
मैं अपने गुण में error.whitelabel.enabled=false
में चिह्नित किया है है
और क्या मैं इस सेवा का एक फेंकने के लिए के लिए क्या करना चाहिए 404 ग्राहकों को प्रतिक्रिया नहीं मिली
मैंने बहुत सारे धागे को संदर्भित किया और किसी को भी इस समस्या का सामना नहीं किया।
यह मेरा मुख्य आवेदन वर्ग
@EnableAutoConfiguration // Sprint Boot Auto Configuration
@ComponentScan(basePackages = "com.xxxx")
@EnableJpaRepositories("com.xxxxxxxx") // To segregate MongoDB
// and JPA repositories.
// Otherwise not needed.
@EnableSwagger // auto generation of API docs
@SpringBootApplication
@EnableAspectJAutoProxy
@EnableConfigurationProperties
public class Application extends SpringBootServletInitializer {
private static Class<Application> appClass = Application.class;
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(appClass).properties(getProperties());
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public FilterRegistrationBean correlationHeaderFilter() {
FilterRegistrationBean filterRegBean = new FilterRegistrationBean();
filterRegBean.setFilter(new CorrelationHeaderFilter());
filterRegBean.setUrlPatterns(Arrays.asList("/*"));
return filterRegBean;
}
@ConfigurationProperties(prefix = "spring.datasource")
@Bean
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
static Properties getProperties() {
Properties props = new Properties();
props.put("spring.config.location", "classpath:/");
return props;
}
@Bean
public WebMvcConfigurerAdapter webMvcConfigurerAdapter() {
WebMvcConfigurerAdapter webMvcConfigurerAdapter = new WebMvcConfigurerAdapter() {
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.favorPathExtension(false).favorParameter(true).parameterName("media-type")
.ignoreAcceptHeader(false).useJaf(false).defaultContentType(MediaType.APPLICATION_JSON)
.mediaType("xml", MediaType.APPLICATION_XML).mediaType("json", MediaType.APPLICATION_JSON);
}
};
return webMvcConfigurerAdapter;
}
@Bean
public RequestMappingHandlerMapping defaultAnnotationHandlerMapping() {
RequestMappingHandlerMapping bean = new RequestMappingHandlerMapping();
bean.setUseSuffixPatternMatch(false);
return bean;
}
}
परिभाषित का उपयोग धन्यवाद
परिणाम:
दूसरा आप (हैंडलर हल नहीं कर सका) 404 के मामले में अपवाद फेंकने के लिए स्प्रिंग बताने के लिए की जरूरत है। इस बदलाव को करने के बाद भी मुझे कोई प्रतिक्रिया नहीं दिखाई दे रही है। कृपया सहायता कीजिए!!! – Shiv
क्या आप अपना फ़िल्टर कार्यान्वयन पोस्ट कर सकते हैं? सहसंबंध HeaderFilter प्रत्येक अनुरोध को संभालेगा और यही वजह है कि यह आपके लिए काम नहीं करता है। मैंने आपके बहुत करीब एक कोड के साथ परीक्षण किया है और अगर मैं फ़िल्टर पर टिप्पणी करता हूं तो यह काम करता है, '@EnableWebMvc' जोड़ें, और इसके लिए टिप्पणियों की आवश्यकता नहीं है जैसे '@EnableSwagger', '@@ EnableJpaRepositories', '@@ EnableAspectJAutoProxy'। –
यदि आप –