所有400级响应都返回404 tomcat 8

时间:2017-08-07 14:31:52

标签: java tomcat

我正在运行tomcat 8.5.6。当我的Jersey休息服务返回400或409(我调试代码以验证这种情况发生)时,Tomcat返回404响应(在Tomcat localhost访问日志和浏览器中验证)。

当我更改同一服务以在相同情况下返回500时,500将被返回到浏览器。

有关为什么Tomcat吸收所有400级响应并将其转换为404以及如何让Tomcat返回所需响应代码的任何想法?感谢。

2 个答案:

答案 0 :(得分:0)

想出来。我在响应中添加了一些正文内容,并且正确的代码开始流回客户端。

    } catch (UserAlreadyExistsException e) {
        LOG.error(e, "user already exists");
        response = Response.status(Response.Status.CONFLICT).entity("user already exists").build();
    } catch (JSONException e) {
        LOG.error(e, "bad request");
        response = Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).build();
    } catch (Exception e) {
        LOG.error(e, "server error");
        response = Response.serverError().entity(e.getMessage()).build();
    }

    return response;

答案 1 :(得分:0)

Tomcat新版本在http标头中进行更严格的验证,您可以在标题参数中添加一个“主机”或缺少“主机”。我有同样的问题,我删除了重复的