这是我的RESTful服务类的以下代码:
@RequestScoped
@Path("/empresas")
public class EmpresaEndpoint {
@Inject
private EmpresaRB empresaRB;
@GET
@Path("/{id:[0-9][0-9]*}")
@Produces("application/json")
public Response findById(@PathParam("id") final Long id) {
//TODO: retrieve the empresas
Empresa empresas = null;
if (empresas == null) {
return Response.status(Status.NOT_FOUND).build();
}
return Response.ok(empresas).build();
}
@GET
@Produces("application/json")
public List<Empresa> listAll(
@QueryParam("start") final Integer startPosition,
@QueryParam("max") final Integer maxResult) {
//TODO: retrieve the empresa
return empresaRB.getEmpresas();
}
}
如果我想通过jQuery访问存储在“Empresa”上的所有数据,我会这样做:
$.getJSON( "rest/empresas", function( data ) {
//whatever is needed.
}
上面的代码将访问“listAll”方法。那么如何访问“findById”方法并传递必要的参数?
答案 0 :(得分:1)
假设你有一个名为empresaId的变量来保存实体的id,这应该可行。
$.getJSON( "rest/empresas/" + empresaId, function(data) {
// Whatever is required here
}
答案 1 :(得分:0)
没有使用该特定框架,它看起来像是基于路径映射到正确的方法 - 如果路径有ID,它将使用findById
,例如
$.getJSON("rest/empresas/100", function(data) {
// ...
}
(这会找到ID为100的项目......显然会替换您要查找的项目的ID。我们不知道它来自哪里,但"rest/empresas/" + id
可能就是您所需要的。 )
答案 2 :(得分:0)
在我的初始代码中,没有查询连接到变量“empresa”,方法是findById()。
我在存储库类上创建了一个查询并将其分配给变量。解决了问题。
感谢大家放弃的时间。