2016-08-13 23 views
0

Neo4j的API網址是:http://localhost:7474/db/data的Neo4j REST API從REST客戶端獲取從瀏覽器VS Get方法請求

當我使用Chrome訪問這個URL,這是一個GET請求。這是我得到的迴應Response page from chrome browsing

但是,當我使用像POSTMAN這樣的安靜客戶端發出g請求。

這是我得到的迴應。 Response from POSTMAN GET request

我的問題是

兩者都是GET請求相同的URL。爲什麼Chrome瀏覽器會得到一個html頁面,但郵遞員請求會得到JSON響應。

Neo4j如何做到這一點?

Neo4j是否使用用戶代理檢測,如果是瀏覽器訪問,它會給出HTML頁面作爲響應。如果這是一個休息客戶端請求,它會給予JSON響應?

謝謝!

+0

他們使用內容協商頭,主要是'Accept' - 例如我對這個網站的請求包含以下頭文件:'Accept:「text/html,application/xhtml + xml,application/xml; q = 0.9,*/*; q = 0.8「' – mszymborski

+0

謝謝Mszymoborski! 我嘗試在POSTMAN的GET請求中設置Accept頭,並且是!這次我得到了html頁面。 – searain

回答

1

它們使用媒體類型協商標頭。例如,要求該網站時,我的瀏覽器發送一個這樣的標題:

Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" 

正如你可以看到它接受主要html,如果這是不可用,則xhtml,那麼純xml,如果是那樣的不可用 - 它接受任何服務器可以拋出它。 Neo4j的網站嘗試按照該順序提供內容。郵差可能只是指定application/json,或者根本沒有(應用程序確定默認的媒體類型),因此反應。