Добавлен URL Spring Rest / rest / v1

Я работаю над существующим проектом, в котором restControllers имеет @RequestMapping(value = "/test") для повторного отображения. Добавлен базовый URL нет. Я проверил все варианты добавления baseURL, но не нашел их в своем приложении. Когда я запускаю свой сервер. Способ доступа - <hostname>/rest/v1/test. Приложение также использует Spring Hateoas. Не могли бы вы сообщить мне, откуда / как добавляются эти дополнительные /rest/v1?

0
0
70
5

Ответы 5

Вы должны найти его настроенным в web.xml или каком-то Spring config xml, где выполняется URL-адрес сопоставления сервлета.

Я использую webAppIntializer и нигде не указывал URL-адрес базового пути

Learner 06.07.2018 09:45

Если проект создан с использованием maven, вы должны увидеть имя приложения в файле pom.xml примерно так.

<groupId>com.test</groupId>
<artifactId>rest</artifactId>
<packaging>war</packaging>
<version>0.1.0.BUILD-SNAPSHOT</version>
<name>rest</name>

а также проверьте файл web.xml в каталоге webappp/WEB-INF или любой другой файл конфигурации XML, если он у вас есть.

кто-то где-то настраивал. ищите это в:

  • application.properties
    • server.servlet-path = или spring.data.rest.basePath =
  • Файл конфигурации: как сказал @Arnad
  • Классы конфигурации: найдите bean-компонент с именем RepositoryRestConfigurer
  • поиск по всему проекту:
    • в eclipse используйте Ctrl + h -> Поиск файлов
    • в intellij: ctrl + shift + f

ссылка: http://docs.spring.io/spring-data/rest/docs/current/reference/html/#_changing_the_base_uri

Вероятно, у вас есть одно из этих свойств, установленных в файле application.properties:

server.contextPath=/rest/v1  

или же

spring.data.rest.basePath=/rest/v1

Оттуда вы можете контролировать базовый путь вашего приложения.

Надеюсь, поможет!

С помощью очень минимального кода, который вы добавили, я могу сказать вам только возможное место, где мог быть настроен базовый URL-адрес.

  1. В верхней части аннотированного класса @RestController.
  2. В случае WebApplicationInitializer он должен быть добавлен на ServletRegistration.Dynamic примерно так:

    ServletRegistration.Dynamic dispatcher = container
          .addServlet("dispatcher", new DispatcherServlet(context));
    
    dispatcher.setLoadOnStartup(1);
    dispatcher.addMapping("/rest/v1/");
    

Другие вопросы по теме