Rest Easy Hello world пример, показывающий ошибку 404 not found - PullRequest
2 голосов
/ 30 мая 2019

Поскольку я не нашел хорошего учебника для RestEasy + WildFly, я следую этому учебнику (https://robferguson.org/blog/2016/12/02/getting-started-with-resteasy/)) и создал простой пример Hello World для проекта JAX-RS с использованием Resteasy 3.7.0.Final +Wildfly 13 + Java 8 + maven. Этот учебник на самом деле использует Jetty Http-сервер.

Вот класс ресурсов:

@Path("/hello")
@Produces(MediaType.TEXT_PLAIN)
public class MessageResource {

    @GET
    @Path("/{param}")
    public Response printMessage(@PathParam("param") String msg) {
        String result = "Hello " + msg + "!";
        return Response.status(200).entity(result).build();
    }
}

И класс, расширяющий javax.ws.rs.core.Application - (все остальные ресурсы)будет автоматически регистрироваться этим классом)

@ApplicationPath("")
public class HelloWorldApplication extends Application {

    public HelloWorldApplication() {}

    @Override
    public Set<Object> getSingletons() {
        HashSet<Object> set = new HashSet<Object>();
        set.add(new MessageResource());
        return set;
    }
}

Кроме того, я добавил jboss-deploy-structure.xml (который не является частью учебного пособия) в WEB-INF, чтобы исключить следующие модули:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <exclude-subsystems>
            <subsystem name="resteasy" />
        </exclude-subsystems>
        <exclusions>
            <module name="javaee.api" />
            <module name="javax.ws.rs.api"/>
            <module name="org.jboss.resteasy.resteasy-jaxrs" />
        </exclusions>
        <local-last value="true" />
    </deployment>
</jboss-deployment-structure>

Полагаю, это исключает модули рестайзи, связанные с Wildfly (исправьте меня, если я ошибаюсь), поскольку я использую последнюю версию RestEasy в pom.xml:

<properties>
    <resteasy.version>3.7.0.Final</resteasy.version>
</properties>

В конфигурации maven я удалил плагин jetty, а остальная часть в pom.xml такая же, как в учебном примере, за исключением версии RestEasy. https://github.com/Robinyo/resteasy/blob/master/examples/helloworld/pom.xml

Но когда я пытаюсь запустить пример сURLhttp://localhost:8080/hello/World, Я получаю 404 - Not Found ошибку.

Отсутствует ли какая-либо часть в конфигурации maven или конфигурации wildfly?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...