Wildfly 10 JAX-RS REST服务不起作用-找不到结果404

时间:2019-05-06 10:32:29

标签: rest jax-rs wildfly

我想为Wildfly 10创建一个简单的JAX-RS REST服务。我的问题是找不到我的REST服务。在浏览器中找不到404结果。我不确定到底是什么问题。我在wildfly日志文件中没有错误或异常。我使用的是eclipse neon 3和wildfly10。我的项目使用的是JAX-RS,请放心。

这是我的项目设置和代码:

  1. 我已经在Eclipse中创建了一个动态Web项目。
  2. 我在项目方面设置了JAX-RS(REST服务)支持。 JAX-RS版本是2.0(也可以在1.1版中试用)
  3. 我已经创建了一个扩展应用程序(javax.ws.rs.core.Application)的子类
  4. 我在扩展Application的类中添加了@ApplicationPath(“ / yoshi-rest”)注释。
  5. 我创建了一个包含我的rest服务方法的类。该类本身具有@Path(“ / StatusService”)注释。
  6. 受影响的方法具有@Get和@Path(“ / getStatus”)批注。
  7. 由于我有Application的子类,因此未在web.xml中设置servlet映射。

代码在这里:

应用程序的子类(RESTConfig):

@ApplicationPath("/yoshi-rest")
public class RESTConfig extends Application {

}

REST服务类(StatusService):

@Path("/StatusService")
public class StatusService {

  @Get
  @Path("/getStatus")
  public String getStatus() {
    return "Yoshi is up and running";
  }
}

我可以在启动wildfly期间看到已部署子类RESTConfig:

11:09:23,777信息[org.jboss.resteasy.resteasy_jaxrs.i18n](ServerService线程池-61)RESTEASY002225:部署javax.ws.rs.core.Application:类XXXX.yoshi.rest.services。 RESTConfig

如果我在浏览器中调用其余服务网址(http://localhost:8080/yoshi-rest/StatusService/getStatus),则会得到“ 404-Not found”的结果。

知道我在做什么错吗?

2 个答案:

答案 0 :(得分:0)

您需要注册服务才能连接到RESTConfig:

@ApplicationPath("/yoshi-rest")
public class RESTConfig extends ResourceConfig {
public RESTConfig() {
    register(StatusService.class);
}

有关ResourceConfig configuration options的更多信息

  

标准JAX-RS使用应用程序作为其配置类。 ResourceConfig扩展了应用程序。

答案 1 :(得分:0)

将项目名称放入url中即可解决问题。

感谢帮助。