2016-01-18 3 views
1

Я разработал API REST для приложения AngularJS с использованием Spring Boot. Я запускаю Java 8 и развертываю Tomcat 8 на Ubuntu, используя JDK8 от Oracle. Все работает отлично, когда я запускаю из Eclipse, или если я запускаю приложение как JAR. Если я ударил локальный: 9000/апи я получить выход, такие как:Spring Boot Ссылки HATEOAS неверны при развертывании на Tomcat

{ 
    "expenses" : { 
     "href" : "http://localhost:9000/api/expenses" 
    }, 
    "expenseTypess" : { 
     "href" : "http://localhost:9000/api/expensetypes" 
    }, 
    .... 
} 

Если я упаковать приложение как WAR и развернуть его на Tomcat в/MyApplication, я теряю слэш после корня приложения , Вызовы 192.168.1.170:8080/myapplication/api возвращается:

{ 
    "expenses" : { 
     "href" : "http://192.168.1.170:8080/myapplicationapi/expenses" 
    }, 
    "expenseTypess" : { 
     "href" : "http://192.168.1.170:8080/myapplicationapi/expensetypes" 
    }, 
    .... 
}  

... что, очевидно, вызывает все, чтобы взорваться, так как ни одна из ссылок API не являются правильными. Если я вручную вызову правильный URI, то возвращенные ресурсы также имеют поврежденные ссылки.

Кто-нибудь видел это и преодолел его?

+3

Мы должны увидеть код, которая создает ответ , – chrylis

ответ

0

Ну, ответ был очень прост. Так просто, я пренебрегал даже думать об этом. Я определил базу URI для API в application.properties как:

spring.data.rest.base-uri=api 

Переход к:

spring.data.rest.base-uri=/api 

исправлена ​​проблема:/

Смежные вопросы