Skip to content

Commit fe944ca

Browse files
committed
Polish "Document addition config for throw-exception-if-no-handler-found"
See gh-31660
1 parent 2cad4a7 commit fe944ca

File tree

1 file changed

+5
-2
lines changed
  • spring-boot-project/spring-boot-docs/src/docs/asciidoc/web

1 file changed

+5
-2
lines changed

spring-boot-project/spring-boot-docs/src/docs/asciidoc/web/servlet.adoc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,6 @@ Any resources with a path in `+/webjars/**+` are served from jar files if they a
112112
TIP: Do not use the `src/main/webapp` directory if your application is packaged as a jar.
113113
Although this directory is a common standard, it works *only* with war packaging, and it is silently ignored by most build tools if you generate a jar.
114114

115-
TIP: If you configure `spring.mvc.throw-exception-if-no-handler-found=true`, it will not work with default `+spring.mvc.static-path-pattern=/**+`, because each url matches `+/**+`. Url without handler must be excluded from _static-path-pattern_ to `NoHandlerFoundException` be thrown. Quite effective exclusion is `spring.mvc.static-path-pattern=`
116-
117115
Spring Boot also supports the advanced resource handling features provided by Spring MVC, allowing use cases such as cache-busting static resources or using version agnostic URLs for Webjars.
118116

119117
To use version agnostic URLs for Webjars, add the `webjars-locator-core` dependency.
@@ -278,6 +276,11 @@ and is incompatible with suffix pattern matching (configprop:spring.mvc.pathmatc
278276
configprop:spring.mvc.pathmatch.use-registered-suffix-pattern[deprecated]) or mapping the `DispatcherServlet`
279277
with a servlet prefix (configprop:spring.mvc.servlet.path[]).
280278

279+
By default, Spring MVC will send a 404 Not Found error response if a handler is not found for a request.
280+
To have a `NoHandlerFoundException` thrown instead, set configprop:spring.mvc.throw-exception-if-no-handler-found to `true`.
281+
Note that, by default, the <<web#web.servlet.spring-mvc.static-content, serving of static content>> is mapped to `+/**+` and will, therefore, provide a handler for all requests.
282+
For a `NoHandlerFoundException` to be thrown, you must also set configprop:spring.mvc.static-path-pattern[] to a more specific value such as `/resources/**` or set configprop:spring.web.resources.add-mappings[] to `false` to disable serving of static content entirely.
283+
281284

282285

283286
[[web.servlet.spring-mvc.binding-initializer]]

0 commit comments

Comments
 (0)