2016-06-21 6 views
2

habe ich ein dynamisches Java-Projekt und hinzugefügt, um diese Abhängigkeit:was fehlt mir, um den webservice von jersey 2 zu betreiben?

<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.containers/jersey-container-servlet-core --> 
     <dependency> 
      <groupId>org.glassfish.jersey.containers</groupId> 
      <artifactId>jersey-container-servlet-core</artifactId> 
      <version>2.23.1</version> 
     </dependency> 

Dann habe ich die App Klasse wie folgt:

@ApplicationPath("/test") 
public class App extends ResourceConfig { 
    public App() { 
     this.packages("com.test.ul"); 
    } 
} 

und im selben Paket wie die App-Klasse in ist, habe ich dies:

@Path("restaurantAPI") 
public class RestaurantAPI { 

    @Path("/get") 
    @GET 
    public Response getRequest(@PathParam("id") String id) { 
     return Response.ok(id).build(); 
    } 

} 

ich betreibe meinen Server, und ich nenne diese URL:

http://localhost:8080/ULTestServer/test/restaurantAPI/get?id=3 

aber ich bekomme Fehler 404

Was fehlt mir bitte? (Ich weiß, dass immer und es zur Arbeit)

Antwort

1

ändern

jersey-container-servlet-core 

zu

jersey-container-servlet 

Der Grund dafür ist, dass dieser die required component hat, die ohne zu entdecken Ihre Anwendung ermöglicht web.xml, ersetzt für @ApplicationPath. Dies ist Teil des Servlet 3-Pluggability-Mechanismus.

Die erste Abhängigkeit ist die Verwendung für nicht Servlet 3.0-Container, wo die Verwendung eine Web.xml verwenden, um das Jersey-Servlet zu registrieren.


1 - Here is the implementation