gpt4 book ai didi

java - 转换为泛型方法后,getall 函数不起作用

转载 作者:行者123 更新时间:2023-11-29 07:37:03 26 4
gpt4 key购买 nike

我想做一个项目来学习Java ee。我计划建立一个票务管理系统。所以我创建了一个 mysql 数据库、实体类、访问类、ejb 类,最后是 WService 类。对于单个 Seat 和 Customer 表,我的 CRUD 操作工作正常。我用 Soap UI 尝过。

之后我制作了一个通用访问类。现在我的 get 选项不起作用,我得到了

HTTP/1.1 500 Internal Server Error

从 glassfish 服务器日志中我得到了以下回复。

[2018-01-17T12:02:48.966+0100] [Payara 4.1] [SEVERE] [] [org.glassfish.jersey.message.internal.WriterInterceptorExecutor] [tid: _ThreadID=31 _ThreadName=http-thread-pool::http-listener-1(3)] [timeMillis: 1516186968966] [levelValue: 1000] [[ MessageBodyWriter not found for media type=application/json;charset=utf-8, type=class java.util.ArrayList, genericType=java.util.List.]]

从其他 3 种方法我得到“HTTP/1.1 200 OK”回复。

这里是访问类getall方法的示例代码

public <A extends EntityCode> List<A> getAll(Class<A> type) {

final String method = Thread.currentThread().getStackTrace()[0].getMethodName(); // to take the method name
LOGGER.entering(CLASS, method);

List<A> result = null;
try {
TypedQuery<A> holderQuery= em.createNamedQuery(type.getSimpleName() + ".findAll", type);
result = holderQuery.getResultList();
return result;

} catch (Exception ex) {
LOGGER.log(Level.SEVERE, String.format("Something Wrong..."), ex);
return result;
} finally {
LOGGER.exiting(CLASS, method, result);
}
}

这是来自 ejb 类的 getallseat 的代码

public List<Seat> getAllSeat() {
List<Seat> allSeatCaller = new ArrayList<>(accessObject.getAll(Seat.class));
return allSeatCaller;
}

这是我的网络服务类的代码

@GET
@Path("getAllSeats")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public Response getAllSeats() {
List<Seat> variable = seatPrice.getAllSeat();
GenericEntity<List<Seat>> genericList = new GenericEntity<List<Seat>>(variable) {};
ResponseBuilder builder = Response.status(Response.Status.OK);
builder.entity(genericList);
Response response = builder.build();
return response;

在创建通用访问类之前,所有 CRUD 方法都运行良好。

最佳答案

其实所有的代码都可以。可能是处理服务器的问题。我已经创建了 JAVA_HOME 并添加到路径中。关闭服务器再次打开它并再次部署项目。神奇地它起作用了。如果有人知道解释,请分享。

关于java - 转换为泛型方法后,getall 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48299561/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com