[
https://issues.apache.org/struts/browse/WW-2515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43670#action_43670
]
Jeromy Evans commented on WW-2515:
----------------------------------
Yeah, i agree this can go to Will not fix.
The developer should return a new HttpHeaders("error").wihStatus(404). That
allows them to map/prepare an appropriate error result and for the
ContentTypeDeterminer to do its work.
Developers can also catch the MethodNotFound exception and use a global
exception mapping to return a 405 instead of 500. I'm not sure how the
ContentTypeDeterminer can ensure it doesn't return an html error page for an
xml/json/other content type though.
> REST plugin does not throw a 404 if resource cannot be found
> ------------------------------------------------------------
>
> Key: WW-2515
> URL: https://issues.apache.org/struts/browse/WW-2515
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - REST
> Affects Versions: 2.1.1
> Environment: Struts 2.1.1-SNAPSHOT using Jetty 6.1.5
> Reporter: Sarat Pediredla
> Fix For: 2.1.2
>
> Attachments: WW-2515.patch
>
>
> When there is a GET request for a resource that does not exist, example GET
> /authors/25 where author with id 25 does not exist, the getModel() method of
> the action should return null (and in most cases will return null as the
> object does not exist).
> However, the current ContentTypeInterceptor implementation is not entirely
> RESTful as the right response should be HTTP Status Code 404 "Not Found".
> I have patched the ContentTypeInterceptor to return a 404 status if the
> requested resource could not be found.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.