Простой JAX-RS с Tomcat - 404 не найден (без сети. xml) - PullRequest
0 голосов
/ 24 февраля 2020

СЕРВИС

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

        @GET
        @Produces("text/plain")
        @Path("sayhi")
        public String sayhi(){
            return "Hi";
        }
     }

Конфигурация приложения

@ApplicationPath("/*")
public class ApplicationConfig extends Application {

}

Tomcat Работает на порте 8080 и видит Почтальон запрос, который я отправляю: localhost:8080/rest/sayhi
ответ

"status": 404,
    "error": "Not Found",
    "message": "No message available",

Вот POM. XML:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jersey</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

FIX Любой, кто застрял в этой проблеме, вот исправление -> как предложил @cassiomolin. В вашем ApplicationConfig измените расширенный класс с Application на -> ResourceConfig, а затем добавьте:

@Component
public class JerseyConfig() extends ResourceConfig{
    // I also changed the name of class to JerseyConfig (this is optional of course )

     public JerseyConfig() {
         register(JustService.class);
     }
     //change JustService to your service class and add as many register's as service classes you have.
    // you can add @ApplicationPath annotation to this class if you need to

1 Ответ

2 голосов
/ 24 февраля 2020

Удалите зависимость spring-boot-starter-web и используйте только зависимость spring-boot-starter-jersey. Затем аннотируйте класс JustService с помощью @Component:

@Component
@Path("/rest")
public class JustService {
    ...
}

И, наконец, добавьте в приложение следующий класс:

@Component
public class JerseyConfig extends ResourceConfig {

    public JerseyConfig() {
        register(JustService.class);
    }
}

Для получения дополнительной информации см. Spring Boot документация .

...