运行 jersey 2 网络服务缺少什么?
what is that I'm missing to run jersey 2 web service?
我创建了一个动态的 java 项目并添加了这个依赖项:
<!-- 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>
然后我创建了这样的应用程序 class:
@ApplicationPath("/test")
public class App extends ResourceConfig {
public App() {
this.packages("com.test.ul");
}
}
并且在应用 class 所在的同一个包中,我创建了这个:
@Path("restaurantAPI")
public class RestaurantAPI {
@Path("/get")
@GET
public Response getRequest(@PathParam("id") String id) {
return Response.ok(id).build();
}
}
我 运行 我的服务器,我称之为 URL:
http://localhost:8080/ULTestServer/test/restaurantAPI/get?id=3
但我收到错误 404
请问我错过了什么? (我总是这样做并且它曾经有效)
改变
jersey-container-servlet-core
到
jersey-container-servlet
原因是后者有 required component1 允许在没有 web.xml 的情况下发现您的应用程序,以代替 @ApplicationPath
.这是 servlet 3 可插拔机制的一部分。
第一个依赖项用于非 servlet 3.0 容器,其中使用 必须 使用 web.xml 注册 Jersey servlet。
我创建了一个动态的 java 项目并添加了这个依赖项:
<!-- 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>
然后我创建了这样的应用程序 class:
@ApplicationPath("/test")
public class App extends ResourceConfig {
public App() {
this.packages("com.test.ul");
}
}
并且在应用 class 所在的同一个包中,我创建了这个:
@Path("restaurantAPI")
public class RestaurantAPI {
@Path("/get")
@GET
public Response getRequest(@PathParam("id") String id) {
return Response.ok(id).build();
}
}
我 运行 我的服务器,我称之为 URL:
http://localhost:8080/ULTestServer/test/restaurantAPI/get?id=3
但我收到错误 404
请问我错过了什么? (我总是这样做并且它曾经有效)
改变
jersey-container-servlet-core
到
jersey-container-servlet
原因是后者有 required component1 允许在没有 web.xml 的情况下发现您的应用程序,以代替 @ApplicationPath
.这是 servlet 3 可插拔机制的一部分。
第一个依赖项用于非 servlet 3.0 容器,其中使用 必须 使用 web.xml 注册 Jersey servlet。