HTTP 405 - 200 OK响应中的方法不允许错误

时间:2015-05-14 17:03:33

标签: java rest http-status-code-405

我有一个小的REST-ful Java后端,一些用C编写的客户端连接到。他们在发送一些信息时会调用某种POST方法,我将其保存到数据库并以200 OK响应,如果一切顺利的话。基本结构如下所示。

@POST
@Path("/mypath")
@Produces("text/html")
public Response processMessage(final String message, @Context final HttpServletRequest request) throws IOException {

.....
return Response.ok().build();

}

我的问题是,在此响应中,我在日志中收到以下错误:

javax.ws.rs.NotAllowedException: No resource method found for , return 405 with Allow header

我理解这个错误意味着什么时候让我们说你试图在一个应该是POST的端点上执行GET。我无法理解为什么在我的回复结束后我会得到这个,并且它清楚地表明请求类型是空的......太奇怪了。

一些额外的信息 - 客户端的代码一直有错误的HTTP代码错误......但是在客户端会出现什么问题导致这种响应? (我无权访问客户端代码)。

此外,我的应用中没有客户端代码,如果您想知道是否有其他代码通过我的网络应用程序拨打电话。

感谢您的任何想法!

1 个答案:

答案 0 :(得分:0)

问题最有可能发生在客户端,因此如果没有看到代码,就很难提供更详细的信息 - 但我的期望是,这是因为您的客户尝试执行类似{{1}的操作}或POST凭据,或沿着那条线的东西。

您唯一的办法是启用详细请求记录,记录生成PUT错误的请求,并将其报告给客户端开发人员。

但是,值得注意的是,任何公开的API都会产生大量的405405,因为“黑客”会尝试对任何已知的URL执行WordPress黑客攻击等操作