0

这些天我和 Backgrid 一起工作。尝试编辑行值并持久化数据库对象,我最终得到以下 HTTP 错误:

NetworkError: 405 Method Not Allowed - http://localhost:8084/fsrtool/api/roles/5

我的 Web 应用程序由 Java Spring 后端驱动。Backgrid 前端应该调用以下方法:

@GET
@Path("/{id}")
@Produces(MediaType.APPLICATION_JSON)
@Override
public Role getById(@PathParam("id") Long id) {
    LOG.info("get a role with its ID");
    Role r = rds.getById(id);
    return r;
}

我知道我的服务类正在工作,因为我能够从 Backgrid 表中创建新的“角色”,这要归功于以下方法:

@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Override
public Response create(final Role r) {
    return Response.status(Status.CREATED).entity(rds.getOrSave(r)).build();
}

调查问题后,我发现 backgrid 使用PUT方法发送了请求。然后我尝试对我的服务类进行一些更改以处理此请求,但我无法找到设置它的好方法。

你知道应该如何编辑 Backgrid 单元格吗?

4

1 回答 1

0

So, as the application I'm working on seems to be designed, I actually was not using the good library...

The way I need my service method to be:

@PUT
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/{id}")
public Response update(final Role r, @PathParam("id") Long id) {
    // do some processing... save to the db
}
于 2014-02-10T14:15:53.757 回答