这些天我正在使用Backgrid。尝试编辑行值并保留数据库对象,我最终出现以下 HTTP 错误:
网络错误: 405 方法不允许 - http://本地主机: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();
}
在调查这个问题时,我发现后格网使用 PUT 方法发送了请求。然后,我尝试对我的服务类进行了几次更改以处理此请求,但我无法找到设置它的好方法。
你知道应该如何编辑后格子单元格吗?
因此,由于我正在开发的应用程序似乎是设计好的,因此我实际上并没有使用好的库......
我需要我的服务方法的方式是:
@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
}