我有一个写入 Java 模块的通用 REST 服务层,可以插入。如果模块不支持任何所需的操作(资源的 GET/POST/PUT/DELETE),则模块会抛出 java.lang.UnsupportedOperationException或我拥有的等效异常类型。
那么,在这种情况下,我可以向客户端返回 HTTP 501 错误代码吗?
在这种情况下,您应该使用405
Method Not Allowed (来自 Wikipedia 的所有引用):
使用该资源不支持的请求方法对该资源发出请求;例如,在需要通过 POST 呈现数据的表单上使用 GET,或者在只读资源上使用 PUT。
501
是合理的:
服务器要么无法识别请求方法,要么无法完成请求。
但我会保留它用于您计划在不久的将来实施的操作。