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();
我正在开发一个基于 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();