2015-05-27 83 views
1

默認情況下,在一個春天啓動應用程序根URL的請求將返回像如何更改在春季啓動應用程序配置文件鏈接

curl -v http://localhost:8080/ 

< HTTP/1.1 200 OK 
< Content-Type: application/hal+json 

{ "_links" : { 
    "orders" : { 
     "href" : "http://localhost:8080/orders" 
    }, 
    "profile" : { 
     "href" : "http://localhost:8080/api/alps" 
    } 
    } 
} 

但是映射,我使用的根URL返回主頁或應用程序的索引。我仍然想使用個人資料鏈接,但我所得到的只是主頁。有什麼方法可以繼續訪問嗎?

我嘗試請求一個特定的內容類型,但它沒有改變任何東西。

curl -H "Accept: application/hal+json" localhost:8080 -v 

curl -H "Content-Type: application/hal+json" localhost:8080 -v 

回答

1

這是不是這樣的,因爲春季啓動應用程序,而是因爲你使用Spring數據REST,它提供了這個端點。要更改REST存儲庫的基本URL,您可以添加屬性spring.data.rest.base-uri=/api(注意,這會更改Spring Data REST的所有REST端點的路徑,而不僅僅是根目錄)。

但是,如果您在根上下文中定義主頁並指定GET請求的內容類型,它也應該可以工作。因此,如果您已經在根上下文中定義了一個HTML頁面並添加了內容類型text/html,則應該獲取您的主頁而不是REST資源概述。

+0

實際上,發生的事情是我無論如何都能獲取主頁,而且我不確定如何查看資源概述。查看更新的回答 –

+0

你是對的,我只是試了一下。我認爲問題是,Spring Data REST沒有在根控制器上指定明確的「Produces」Content-Type,所以帶有application/hal + json的請求沒有映射到控制器(我猜,它由於映射順序而加載主頁)。在這種情況下,唯一的解決方案似乎會更改存儲庫的基本URI。 – dunni