7

我有一个写入 Java 模块的通用 REST 服务层,可以插入。如果模块不支持任何所需的操作(资源的 GET/POST/PUT/DELETE),则模块会抛出 java.lang.UnsupportedOperationException或我拥有的等效异常类型。

那么,在这种情况下,我可以向客户端返回 HTTP 501 错误代码吗?

4

1 回答 1

9

在这种情况下,您应该使用405 Method Not Allowed (来自 Wikipedia 的所有引用):

使用该资源不支持的请求方法对该资源发出请求;例如,在需要通过 POST 呈现数据的表单上使用 GET,或者在只读资源上使用 PUT。

501是合理的:

服务器要么无法识别请求方法,要么无法完成请求。

但我会保留它用于您计划在不久的将来实施的操作。

于 2012-07-10T07:01:55.437 回答