0
我目前正在编写一个具有多个基于Jersey的WebServices的应用程序。有一件看起来过于复杂的事情是我用来打电话给他们的路径。泽西Web服务与平坦的路径结构?
例如,用户收到一个包裹给别人,并想让别人知道这一点。这应该全部由一个基本端点ParcelEndpoint处理。
我初始化端点:
@ApplicationPath("parcel4u")
public class RefApp extends Application {
public Set<Class<?>> getClasses() {
final Set<Class<?>> returnValue = new HashSet<Class<?>>();
returnValue.add(ParcelEndpoint.class);
return returnValue;
}
}
所以一切都在/parcel4u/将是WebService的方法。
当我尝试给RefApp的每个方法它是自己的@Path(但不是类本身),没有找到。我必须给这个类提供@Path和每种方法。它看起来像这样:
@Path("rest")
public class ParcelEndpoint {
@GET
@Path("received")
@Produces(MediaType.TEXT_PLAIN)
public String received(@PathParam("userid") String forUser){
return "received!";
}
@GET
@Path("found")
@Produces(MediaType.TEXT_PLAIN)
public String found(@PathParam("userid") String forUser){
return "found!";
}
}
所以我可以调用/parcel4u/REST /接收或/parcel4u/REST /发现。有没有办法跳过“休息”部分?
嗯,那很简单... :-) –