Pessoal, estou com uma dúvida que preciso implementar em um serviço.
Estou utilizando o JAX-RS/Jersey para implementação de serviços.
E preciso passar para o serviço uma lista de ids.
Para evitar chamar N vezes o serviço (requests) quero passar uma lista.
Como posso fazer.
Caso tenho algum parametro que possa utilizar usando isso.
I
ivansalvadori
vc vai ter que enviar via http post
D
dsrodrigues
Devo ta fazendo algo errado....
@POST@Path("/manyids")@Consumes(MediaType.APPLICATION_XML)publicResponsetesteIds(@FormDataParam("ids")ListaIdsids){for(Integerid:ids.getIds())System.out.println(id);returnResponse.status(200).entity("Olha o console pow!!!!").build();}@XmlRootElement(name="lista")publicstaticclassListaIds{@XmlElement(name="id")@Getter@SetterprivateList<Integer>ids=newArrayList<>();}...
Grave: The following errors and warnings have been detected with resource and/or provider classes:
SEVERE: Missing dependency for method public void teste.testeIds(teste.MarcadorService$ListaIds) at parameter at index 0
SEVERE: Method, public void teste.MarcadorService.testeIds(teste.MarcadorService$ListaIds), annotated with POST of resource, class teste.MarcadorService, is not recognized as valid resource method.
Mar 09, 2012 3:30:45 PM com.sun.jersey.spi.spring.container.servlet.SpringServlet initiate
Grave: Exception occurred when intialization
com.sun.jersey.spi.inject.Errors$ErrorMessagesException
at com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170)
at com.sun.jersey.spi.inject.Errors.postProcess(Errors.java:136)
at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:199)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:771)
at com.sun.jersey.spi.spring.container.servlet.SpringServlet.initiate(SpringServlet.java:117)
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318)
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609)
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5001)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5289)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3894)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:424)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1310)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1496)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1506)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1506)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1485)
at java.lang.Thread.run(Thread.java:722)
Esse erro acontece quando inicio o tomcat para levantar a aplicação.
I
ivansalvadori
vc nao deve associar a lista de ids ao @FormDataParam(“ids”).
fica apenas
public Response testeIds(ListaIds ids) {
e na classe da lista
a anotação vai sobre a get do objeto e nao na declaração.