java - 类型 Response.Response 构建器不可见
问题描述
我正在用 java 编写一个 RESTful 服务,但是当我尝试使用Resource
类时,显示以下错误:The type Response.Response builder is not visible
. 我不明白问题可能是什么,因为我已经导入了所需的 jar 并配置了类路径。有谁知道可能导致问题的原因?
这是我用来获取事件列表的方法,无论在哪里使用,我都会收到错误消息Response
:
@GET
@Path("/active")
@Produces(MediaType.APPLICATION_JSON)
public Response getActiveEvents() {
ArrayList<Event> list = EventSetup.getActiveEvents();
if(list.size() > 0) return Response.status(200).entity(list).build();
else return Response.status(404).entity("NULL").build();
}
解决方案
您列出的代码是正确的。当您将 JSON 指定为输出格式时,JAX-RS 将ArrayList<Event>
使用对象映射器序列化结果对象 (),通常是Jackson
.
我假设错误发生在序列化期间。
- 是否使用了任何自定义或特殊序列化程序(在 ObjectMapper 的配置中,或作为 Jackson 注释)?这些序列化程序之一可能使用了 Response 构建器,因此它们可能是罪魁祸首。
- 您是否导入了正确的
Response
类(javax.ws.rs.core.Response
)?您可能不小心Response
从另一个包中导入了一个类。
堆栈跟踪对于定位异常的来源非常有帮助 - 在寻求有关异常的帮助时,请始终包含堆栈跟踪。
推荐阅读
- java - RxJava 将两个响应分组,其中一个响应可能是 NULL 与 zip 运算符
- android-studio-3.0 - 错误与android studio中的依赖冲突
- google-sheets - 条件和连续列
- android - 警报管理器不会在flyme os(魅族)上发出任何警报
- python - 模型更改反映在管理页面中,但没有反映在 django 表单模板中,为什么?
- python - python subprocess.check_output 在 cat | 时不返回 grep 组合
- java - 如何使用 GeoTools API 创建和填充 shp 文件
- java - Java JSONArray 抛出意外异常
- angular - Prime Modal 打不开
- javascript - 为什么这个简单的 Math.max() 示例返回 NaN?