Postman 客户端无法解析来自 JAX-RS 响应生成器的字符串响应

Postman client not able to parse string response from JAX-RS response builder

我正在开发一个基于 jersey 的 REST 应用程序,其中我使用如下响应构建器:

return Response.status(Response.Status.UNAUTHORIZED).entity(e.getMessage()).build();

在 postman 中执行此 API 时,当它生成此错误时,我看到类似这样的内容:

这仅适用于漂亮格式模式。是 Postman 客户端还是 JAX-RS 的问题?

Request header & raw mode如下所示:

这里的"N"是消息字符串的第一个字符。 Raw & Preview 模式显示错误消息就好了。

由于您的 API 响应类型是 application/json,因此 Postman 尝试将其解析为 JSON 但解析失败,因为它只是一个错误消息字符串。

为了克服你需要在服务器端 return 一些 JSON 对象形式的错误。 像这样:

JsonObject error = ...;//some how created
error.addField("descr",e.getMessage());
return Response.status(Response.Status.UNAUTHORIZED).entity(error).build();