Что не так с моей конфигурацией JAX-RS?

#java #rest #maven #jax-rs #wildfly

#java #отдых #maven #jax-rs #wildfly

Вопрос:

РЕШАЕМАЯ: Проблема была связана с именем моего контекста, оно было определено как «Приложение», но мой браузер открывался с помощью «application», и эта заглавная буква A была ключом к решению проблемы.

Может кто-нибудь, пожалуйста, помочь мне с этим? Я не могу заставить JAX-RS работать, я использую WildFly 8.1.0.Final, и я настроил свой проект с помощью JBoss Forge 2, Чтобы получить доступ к моим файлам, так как я не получил никакой ошибки консоли

pom.xml

 <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>7.0</version>
      <scope>provided</scope>
</dependency>
 

RestApplication.java

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

@ApplicationPath("/api")
public class RestApplication extends Application {
    @Override
    public Set<Class<?>> getClasses() {
        return new HashSet<Class<?>>(Arrays.asList(TestEndpoint.class));
    }
}
 

TestEndpoint.java

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

@Path("/test")
public class TestEndpoint {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String getString() {
        return "worked";
    }

}
 

Я попытался получить к нему доступ с помощью

 http://localhost:8080/application/api/test
 

но я получил страницу с ошибкой 404.

Заранее спасибо

Комментарии:

1. попробуйте @ApplicationPath(«/»)

2. Вы переопределили метод getClasses() вашего класса RestApplication, чтобы вернуть набор, содержащий ваш класс TestEndpoint?

3. Я сделал это сейчас, но я получил ту же ошибку, вы, ребята, думаете, что это может быть какая-то проблема с моими зависимостями? Должен ли я указать какой-либо другой? По-прежнему не было никакой ошибки консоли

4. Ребята, это сработало, я отредактирую свой вопрос, чтобы объяснить это, спасибо

5. Не могли бы вы поделиться решением вашей проблемы?