我做了这个教程http://netbeans.org/kb/docs/websvc/rest.html,用我的mysql db创建了一个宁静的web服务。
基本的东西工作正常,但现在我想扩展服务功能。如何在GET服务中添加其他参数? 我试过这个
但结果我拥有所有城市。 当我添加参数countryCode链接时,服务变为 http://localhost:8080/Data/resources/converter.city/? COUNTRYCODE = TUR×夯实= 1323114935089 这是我的代码 / * *要更改此模板,请选择“工具”|模板 *并在编辑器中打开模板。 * / 包裹服务;
import converter.City;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
/**
*
* @author mehdi
*/
@Stateless
@Path("converter.city")
public class CityFacadeREST extends AbstractFacade<City> {
@PersistenceContext(unitName = "DataPU")
private EntityManager em;
public CityFacadeREST() {
super(City.class);
}
@POST
@Override
@Consumes({"application/xml", "application/json"})
public void create(City entity) {
super.create(entity);
}
@PUT
@Override
@Consumes({"application/xml", "application/json"})
public void edit(City entity) {
super.edit(entity);
}
@DELETE
@Path("{id}")
public void remove(@PathParam("id") Integer id) {
super.remove(super.find(id));
}
@GET
@Path("{id}")
@Produces({"application/xml", "application/json"})
public City find(@PathParam("id") Integer id) {
return super.find(id);
}
@GET
@Override
@Produces({"application/xml", "application/json"})
public List<City> findAll() {
return super.findAll();
}
@GET
@Path("{from}/{to}")
@Produces({"application/xml", "application/json"})
public List<City> findRange(@PathParam("from") Integer from, @PathParam("to") Integer to) {
return super.findRange(new int[]{from, to});
}
@GET
@Path("count")
@Produces("text/plain")
public String countREST() {
return String.valueOf(super.count());
}
@java.lang.Override
protected EntityManager getEntityManager() {
return em;
}
}
答案 0 :(得分:0)
您必须更新Java资源类中的注释以接受其他参数。您是否查看了JAX-RS中查询参数的注释支持?