我正在PHP中構建一個RESTful Web服務,它接受JSON作爲其有效負載 。 現在,我的問題是,我如何向用戶描述JSON請求的格式?我是JSON新手,不認爲我有100%的把握。JSON數據到Web服務 - 如何定義預期的JSON數據
其他用戶系統會基本上用我需要的鍵值對創建一個數據結構(如數組),用JSON對其進行編碼並將其發送到我的Web服務?
難道我真的給他們一個數組需要看起來像樣的副本嗎? 謝謝!
我正在PHP中構建一個RESTful Web服務,它接受JSON作爲其有效負載 。 現在,我的問題是,我如何向用戶描述JSON請求的格式?我是JSON新手,不認爲我有100%的把握。JSON數據到Web服務 - 如何定義預期的JSON數據
其他用戶系統會基本上用我需要的鍵值對創建一個數據結構(如數組),用JSON對其進行編碼並將其發送到我的Web服務?
難道我真的給他們一個數組需要看起來像樣的副本嗎? 謝謝!
遵循REST準則,您從API用戶那裏得到的輸入應該是URL的一部分(對於GET請求;不更新數據,即http://example.com/api/doc/1243
),或者應該是POST變量(在HTTP請求的主體中發送到相同的URL)。
所以對於文檔,你應該需要做的是表明端點URL(http://example.com/api/doc/1243
),他們需要使用POST的事實,而這些變量是什麼(即title
,body
,author
等)。然後,用戶將形成然而正確的HTTP請求,他們希望,並在您的服務器端,因爲你正在使用PHP,你會從$_POST
陣列(即$_POST['title']
,$_POST['body']
等)
Thankyou-非常好的答案。因此,比如說購物車,如何將產品傳遞到查詢字符串中(因爲可能有很多產品?)。你是否做了類似「product_1 = test&product_1_qty = 4&product_2 = test2&product_2_qty = 9?etc?」的產品 – Lock
若要將產品添加到購物車,可以按照這種方式進行組織,或者讓最終用戶多次調用「添加到購物車」方法,每個產品一次:Endpoint'/ api/cart/1243/add'帶有數據'product_id'和'quantity',但需要多次調用 – MidnightLightning
REST服務通常會**輸出** JSON編碼的數據;你真的把**輸入**作爲JSON編碼(而不是標準的GET查詢參數或POST數據值?)? – MidnightLightning
什麼是最常見的?如果POST值是標準的,那麼我會去做。該服務將接受許多產品代碼/數量。你如何通過POST傳遞這些數據?例如:product_1 = item1&product_1_qty = 2&product_2 = item2&product_2_qty = 5? – Lock
對於更新數據,是的,POST是通用的,並且是RESTful方法所必需的;請參閱我的回答以獲得完整說明 – MidnightLightning