spokojny serwis interfejsu z koszulką
Czy mogę stworzyć spokojny serwis z interfejsem i klasą implementacji? a wszystkie importy związane z JAX-RS trafiają do interfejsu? używam jersey2.4 i jetty8.1.
oto mój interfejs:
MyService.java
package foo.bar;
@Path("/abc")
public interface MyService {
@GET
@JSONP
@Path("/method/{id}")
public MyResponse getStuff(@PathParam("id") Integer id);
}
MyServiceImpl.java
package foo.bar.impl;
public class MyServiceImpl implements MyService {
public MyServiceImpl() {}
@Override
public MyResponse getStuff(Integer id) {
// do stuff
return MyResponse;
}
}
oto mój plik web.xml:
<servlet>
<servlet-name>Scivantage REST Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>foo.bar</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Zarejestrowałem ten pakiet usługodawcy (foo.bar), ale narzeka, że to mówi - javax.servlet.ServletException: wyjątek MultiException ma 1 wyjątek. Są to: | 1. java.lang.NoSuchMethodException: Nie można znaleźć odpowiedniego konstruktora w klasie foo.bar.MyService.
Kiedy próbowałem z pakietem implementacji klasy (foo.bar.impl), narzeka, mówiąc: otrzymuję HTTP ERROR 404; nie robi nic innego; żadnych wyjątków na konsoli
Kiedy próbowałem obu - narzeka tak samo jak powyżej:
javax.servlet.ServletException: wyjątek MultiException ma 1 wyjątek. Są to: | 1. java.lang.NoSuchMethodException: Nie można znaleźć odpowiedniego konstruktora w klasie foo.bar.MyService.
Czy możesz pomóc? Co robię źle?