Ich habe eine funktionierende Feder Boot Rest Service. Wenn der Pfad falsch ist, gibt er nichts zurück. Keine Antwort überhaupt. Zur gleichen Zeit wirft es auch keinen Fehler. Im Idealfall habe ich einen Fehler 404 nicht gefunden erwartet.Spring Boot Rest - Wie konfiguriert man 404 - Ressource nicht gefunden
bekam ich einen GlobalErrorHandler
@ControllerAdvice
public class GlobalErrorHandler extends ResponseEntityExceptionHandler {
}
Es diese Methode in ResponseEntityExceptionHandler
istprotected ResponseEntity<Object> handleNoHandlerFoundException(NoHandlerFoundException ex, HttpHeaders headers,
HttpStatus status, WebRequest request) {
return handleExceptionInternal(ex, null, headers, status, request);
}
ich error.whitelabel.enabled=false
in meiner Eigenschaften markiert haben
Was muss ich für diesen Dienst tun ein werfen 404 nicht gefundene Antwort zurück zu den Clients
Ich habe viele Threads angesprochen und sehe diesen Ärger gar nicht.
Das ist meine Hauptanwendungsklasse
@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;
}
}
Danke. Selbst nachdem ich diese Änderung vorgenommen habe, sehe ich immer noch keine Antwort. Bitte helfen !!! – Shiv
Können Sie Ihre Filterimplementierung posten? CorrelationHeaderFilter wird jede Anfrage bearbeiten und ist möglicherweise der Grund, warum es nicht für Sie funktioniert. Ich habe mit einem Code getestet, der sehr nahe an deinem Code ist, und es funktioniert, wenn ich einen Kommentar einfüge, '@EnableWebMvc' hinzufüge und nicht benötigte Annotationen wie '@EnableSwagger', '@@ EnableJpaRepositories', '@@ EnableAspectJAutoProxy' kommentieren. –
ich einfache Anwendung veröffentlichen können auf GitHub, wenn Sie –