Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.3.14
-
None
-
None
Description
If a NoSuchMethodException is caught when invoking getActionMethod(), AnnotationValidationInterceptor should first give any configured UnknownHandler a shot, before throwing the exception directly, just as what DefaultActionInvocation.invokeAction() does.
Any unknown Action or unknown Result is currently handled by Dispatcher.serviceAction(), and a 404 error code will be returned as expected. But an unknown Method will raise a 500 error, the only way to avoid this is to configure an UnknownHandler. Therefore, AnnotationValidationInterceptor won't inspect UnknownHandler at all...
GET /foo/list 404 (Action "foo" not found)
GET /bar/list 200
GET /bar/print 500 (Method "print" not found, 404 is expected instead of 500)
Attachments
Issue Links
- relates to
-
WW-4693 How to handle 404 when using wildcard instead of error 500 when the wildcard method doesn't exist
- Closed