[ 
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.

Reply via email to