Wildfly resteasy javax.ws.rs.NotFoundException

时间:2015-11-19 15:21:13

标签: java spring wildfly resteasy

我知道这篇文章是重复的,还有很多解决方案,但我无法使用它们来解决问题。

我正在尝试使用spring + wildflyAS + resteasy。我遇到了resteasy集成的问题,这是我在尝试访问控制器时遇到的错误:

javax.ws.rs.NotFoundException: Could not find resource for full path: http://localhost:8080/BQP/rest/student/test/1/pass/1

控制器:

@Controller
@RequestMapping(value = "student")
public class StudentController {

@Autowired
StudentService studentService;

public StudentController() {

}



@RequestMapping(value = "/test/{id}/pass/{testId}", method = RequestMethod.GET, produces = "application/json")
public
@ResponseBody
Response getCurrentTest(@PathVariable("id") String id,@PathVariable("testId") String testId){
    TestDTO testDTO = studentService.getCurrentTest(id,testId);

    return Response.status(200).entity(testDTO).build();


}

}

web.xml:

<?xml version="1.0" encoding="UTF-8"?>

<display-name>BQP</display-name>

<!--Spring-->
<servlet>
    <servlet-name>Spring MVC Servlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring-mvc-context.xml</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>Spring MVC Servlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

<!--/Spring-->

<!--RestEASY-->

<servlet>
    <servlet-name>Resteasy</servlet-name>
    <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Resteasy</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<context-param>
    <param-name>javax.ws.rs.Application</param-name>
    <param-value>com.bionic.rest.ApplicationConfiguration</param-value>
</context-param>
<context-param>
    <param-name>resteasy.servlet.mapping.prefix</param-name>
    <param-value>/rest</param-value>
</context-param>
<listener>
    <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>

<!--/RestEASY-->

ApplicationConfiguration:

package com.bionic.rest;


import javax.ws.rs.core.Application;
import java.util.HashSet;
import java.util.Set;

public class ApplicationConfiguration extends Application {

    private Set<Object> singletons = new HashSet<Object>();
    private Set<Class<?>> empty = new HashSet<Class<?>>();

    public ApplicationConfiguration() {
        singletons.add(new StudentController());
    }

    @Override
    public Set<Class<?>> getClasses() {
        return empty;
    }

    @Override
    public Set<Object> getSingletons() {
        return singletons;
    }
}

此外,我可以在没有/ rest的情况下访问此控制器。

0 个答案:

没有答案