[
https://issues.apache.org/struts/browse/WW-2515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43408#action_43408
]
Sarat Pediredla commented on WW-2515:
-------------------------------------
In follow up to that, I dont think the REST framework even throws a 405 "method
not supported". All it does is throw a 500 - Internal Server Error with a
NoSuchMethodException which isnt entirely RESTful. A client like curl will only
see a 500 exception in the response with whatever the configured result handler
is.
I genuinely think (although this is up for debate) that the REST framework
should be responsible for returning the right HTTP Status Codes rather than
leave it to the clients to handle exceptions.
> 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
> 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.