【问题标题】:Jersey endpoint returning 404 on EclipseJersey 端点在 Eclipse 上返回 404
【发布时间】:2018-12-13 20:23:17
【问题描述】:

我以前从未使用过 Jersey,在运行一个简单的网络应用程序时遇到了菜鸟问题。

这是我的 web.xml:

<display-name>microservice-ask</display-name>
    <servlet>
        <servlet-name>jersey-serlvet</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>com.sun.jersey.config.property.packages</param-name>
            <param-value>br.com.companyname.email.controller</param-value>
        </init-param>
        <init-param>
            <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>jersey-serlvet</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>

在路径中的我的控制器中:

src\main\java\br\com\companyname\email\controller\EmailController.java

在这个控制器内部我有一个简单的端点:

@Path("/email")
public class EmailController {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String getIt() {
        return "Got it!";
    }

}

当我在 Eclipse 中的 Tomcat 上运行这个端点时

http://localhost:8080/microservice-ask/rest/email/v1/sendEmail2

返回 404。

我在这里做错了什么?

提前致谢!

【问题讨论】:

  • 我没有看到任何带有email/v1/sendEmail2 的端点,所以会出现错误

标签: java eclipse tomcat jersey


【解决方案1】:

这个端点对我来说很好用,http://localhost:8080/projectx/rest/email/

@Path("/email")
public class EmailController {

@GET
@Produces(MediaType.TEXT_PLAIN)
 public String getIt() {
    return "Got it!";
}

产生“明白了!”

【讨论】:

  • 也许它在 Eclipse 中的一些配置?我尝试在eclipse内外的Tomcat上运行它,但由于某种原因仍然无法到达端点。
  • 如果需要匹配/v1/sendEmail2等,需要使用@Path("{subResources: regex}")
猜你喜欢
  • 2018-02-06
  • 1970-01-01
  • 2020-02-18
  • 1970-01-01
  • 2020-12-23
  • 2020-06-22
  • 1970-01-01
  • 2022-01-16
  • 2019-02-28
相关资源
最近更新 更多