这些天我正在使用Backgrid。 尝试编辑行值并保留数据库对象,我最终得到以下HTTP错误:
NetworkError:405方法不允许 - 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单元格?
答案 0 :(得分:0)
所以,由于我正在研究的应用程序似乎是设计的,我实际上并没有使用好的库...
我需要服务方法的方式是:
@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
}