Приложение Spring Boot нормально запускается на Tomcat 8 локально, но я получаю 404 - PullRequest
0 голосов
/ 25 января 2019

Мое весеннее загрузочное приложение запускается нормально без единой ошибки или предупреждения, я вижу все сопоставления URL в моей консоли следующим образом:

2019-01-25 13: 26: 56.157 INFO 1020 --- [ost-startStop-2] s.w.s.m.m.a.RequestMappingHandlerMapping: Mapped "{[/ auth / userAccessToken], method = [POST]}" на общедоступных java.lang.String com.test.garmin.controller.OAuthController.generateToken (java.lang.Long, java.lang.String, org.springframework.ui.Model)

и я вижу, что инициализация завершена:

2019-01-25 14: 25: 57.714 INFO 21244 --- [ost-startStop-1] o.s.web.servlet.DispatcherServlet: FrameworkServlet «измерение»: инициализация завершена за 4175 мс

Когда я пытаюсь использовать свои веб-сервисы, все, что я получаю, это 404. Не найдено.

Пакеты выглядят так пакеты проектов пакеты, содержащие контроллеры, отмечены красной линией.

мой класс приложения:

@Configuration
@ComponentScan(basePackages ={"com.test.garmin.controller","com.test.measurement.ws"})
@EntityScan
@EnableAutoConfiguration
public class Application extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(applicationClass, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(applicationClass);
    }

    private static Class<Application> applicationClass = Application.class;
}

контроллеры помечены так:

@RestController
@EnableAutoConfiguration
@RequestMapping(value = "/example")

файл servlet.xml:

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">
    <mvc:annotation-driven/>
    <context:component-scan base-package="com.test.garmin.controller , com.test.measurement.ws" />
</beans>

Я не могу найти, где я не прав. Большинство потоков, которые я нашел, настаивают на том, что это проблема пакетов, но я объявил свои пакеты в классе приложения. Есть идеи?

Ответы [ 3 ]

0 голосов
/ 25 января 2019

Похоже, API /auth/userAccessToken отображается правильно, но вы пытаетесь получить доступ к неправильному URL. Пожалуйста, попробуйте URL, как показано ниже, в почтальоне или любом другом клиентском инструменте с методом POST с необходимыми параметрами-

http://localhost:8080/your_project_context/example/auth/userAccessToken
0 голосов
/ 25 января 2019

Ошибка не была очевидной, по крайней мере, не для меня.Имя артефакта было неверным, поэтому оно было развернуто в веб-приложениях tomcat с именем MeasurementService_war.war, в то время как мой context.xml был таким

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/MeasurementService"/>

Вот почему я получаю ошибку 404, не найденную

0 голосов
/ 25 января 2019

404 карты не найдены.Пожалуйста, укажите URL, который использует ваш клиент, а также полный код контроллера.По крайней мере, все сигнатуры метода.

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