![](/img/trans.png)
[英]Jersey ReST app running on Glassfish 4.1, endpoint gives 404
[英]404 when calling Jersey 2 REST endpoint on Glassfish
这是我的web.xml
<servlet>
<servlet-name>Simulator HTTP API</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Simulator HTTP API</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
这是我简单的Web服务:
@Path("partner")
public class PartnerAPI {
@Path("/mt")
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sendMT() {
return "Sent";
}
}
当我这样称呼它时:
http://localhost:8080/myprojectname/partner/mt
我发现404错误提示,我在做什么错?
这是我的专家
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.22.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<version>2.22.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.22.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.22.1</version>
</dependency>
在Jersey 2中,您有不同的部署选项:
如果要通过web.xml
进行此操作,则必须添加一个init-param
,在其中指定应扫描的软件包:
<servlet>
<servlet-name>Simulator HTTP API</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>insert.packagename.where.your.class.is.here</param-value>
</init-param>
</servlet>
另一个选择是创建一个基本类来配置您的REST应用程序。
看起来像这样:
import javax.ws.rs.ApplicationPath;
import org.glassfish.jersey.server.ResourceConfig;
@ApplicationPath("/test")
public class YourApplication extends ResourceConfig {
public YourApplication() {
this.packages("insert.packagename.where.your.class.is.here");
}
}
确保使用您的PartnerAPI
类所在的包名称更新字符串。
然后将@ApplicationPath
内的值添加到您的URL。
链接看起来像这样: http:// localhost:8080 / myprojectname / test / partner / mt
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.