Расширение Netbeans RESTful Webservice - PullRequest
0 голосов
/ 06 декабря 2011

я сделал это руководство http://netbeans.org/kb/docs/websvc/rest.html, чтобы создать спокойный веб-сервис с моей базой данных mysql.

базовые вещи работают хорошо, но теперь я хочу расширить функциональность сервиса.Как я могу добавить дополнительные параметры для службы GET?я попробовал это netbeans restful test

но в результате у меня есть все города.когда я добавляю параметр countryCode links, сервис становится http://localhost:8080/Data/resources/converter.city/? countryCode = TUR × tamp = 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;
    }

}

1 Ответ

0 голосов
/ 06 декабря 2011

Вам нужно будет обновить аннотации в вашем классе ресурсов Java, чтобы принять дополнительные параметры. Вы смотрели на поддержку аннотаций для параметров запроса в JAX-RS?

...