You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaEE基于WildFly:REST资源无法找到的原因排查求助

解决WildFly中REST接口返回NotFound的问题

我来帮你排查下这个NotFound错误的常见原因和解决办法:

1. 确认JAX-RS应用的基础路径配置

WildFly需要明确识别哪些类是JAX-RS资源,最标准的方式是创建一个继承Application的类并添加@ApplicationPath注解——如果缺少这个配置,WildFly大概率不会扫描到你的RestService类。

示例代码如下:

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@ApplicationPath("/api") // 这个路径会作为所有REST接口的基础前缀
public class RestApplication extends Application {
    // 空实现即可,WildFly会自动扫描当前包及子包下的JAX-RS资源类
}

2. 拼接正确的请求URL

配置完基础路径后,完整的请求URL需要包含三个部分:

  • WildFly的地址和端口:http://localhost:8080
  • 应用上下文路径:默认是WAR包的名称(比如你的WAR叫my-rest-app.war,上下文就是/my-rest-app)
  • 完整的REST路径:/api/rest/hello

最终的请求URL应该是:http://localhost:8080/my-rest-app/api/rest/hello

如果你的WAR包是ROOT.war,上下文路径可以省略,直接用http://localhost:8080/api/rest/hello

3. 检查RestService类的注解完整性

你的RestService类代码框架没问题,但要确保:

  • 类上的@Path("/rest")注解正确生效
  • 方法上的@GET和@Path("/hello")没有拼写错误
  • 类所在的包能被WildFly扫描到(通常和RestApplication类在同一个包或者子包下即可)

补全后的完整RestService类代码参考:

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

@Path("/rest")
public class RestService {

    @GET
    @Path("/hello")
    @Produces(MediaType.TEXT_PLAIN)
    public Response helloWorld() {
        try {
            System.out.println("ABCDEF");
            return Response.status(Response.Status.OK).entity("hello world!").build();
        } catch (Throwable throwable) {
            return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
                           .entity(throwable.getMessage())
                           .build();
        }
    }
}

4. 检查WildFly的部署日志

打开WildFly的控制台日志(或者standalone/log/server.log文件),看看有没有部署相关的错误,比如:

  • 类加载失败
  • JAX-RS模块初始化错误
  • 应用部署失败的提示

如果有错误信息,根据提示进一步排查即可。

5. 验证URL大小写和拼写

JAX-RS的@Path注解默认是大小写敏感的,确保你请求的URL和注解中的路径完全一致(比如不要把/rest/hello写成/Rest/Hello)。

内容的提问来源于stack exchange,提问作者user3133542

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:38:30