java - 我使用 Jersey 生成了 400 响应,但没有得到返回

标签 java rest jersey

我正在尝试使用 java 和 jersey 编写 Web 服务。最近我注意到,有时在创建错误 400 响应后,我没有从服务器返回任何内容。

例如,使用此函数,我可以毫无问题地得到 201 代码,但是当我尝试获取 400 响应时,我会陷入等待响应的状态,直到超时。

@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces({ MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN })
public Response registerUser(String json) {
    Gson gson = new Gson();
    try {
        RegistryData r = gson.fromJson(json, RegistryData.class);
        new RegisterValidator().validate(r);
        // new UserDao().addUser(new User(r));
        return Response.ok(gson.toJson(r), MediaType.APPLICATION_JSON).status(Status.CREATED).build();
    } catch (JsonSyntaxException e) {
        e.printStackTrace();
        return Response.status(Status.BAD_REQUEST).entity("ERROR: BAD REQUEST").build();
    } catch (ValidationException e) {
        return Response.status(Response.Status.BAD_REQUEST).entity("ERROR: " + e.getMessage())
                .type(MediaType.TEXT_PLAIN).build();
    }
}

我正在使用 Tomcat 7、Java 7、Jersey 1.19,并且正在使用适用于 Chrome 的 Advanced Rest Client 插件进行测试。

最佳答案

我在使用此插件时遇到了类似的问题,当服务器响应错误时,我看到它“卡住”。

您可以尝试其他客户端,例如curl(如果您使用的是*nix)、RestClient ( http://code.fosshub.com/WizToolsorg-RESTClient/downloads ) 或您可以在线找到的其他工具。

关于java - 我使用 Jersey 生成了 400 响应,但没有得到返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37388560/

相关文章:

java - 访问 Jersey REST web 服务时出现异常

java - Jersey Hello World 什么也不显示

web-services - 请求实体不能为空

java - 编码/解码 REST 路径参数

java - 自定义系统类加载器和 MessageDigest 的奇怪行为

java - 构建端到端 Web 应用程序所需的技术?

安卓 RESTful 客户端

java - 应用程序显示与 Google 商店中的 Moto E 不兼容

c# - 转换后的 BitmapImage 未显示在页面上

rest - 分页 REST API : How to select amount of data returned?