最近我在Rest架構中苦苦掙扎:p和我通常會提出很多問題。 假設我有一個名爲「user」的資源,並且該用戶可以擁有一個汽車列表。我試圖將該用戶和他的汽車列表一次插入到數據庫中。我知道我必須用POST HTTP動詞來做到這一點。但是,我將如何實現這一目標?我應該只發送一個帶有用戶標識和汽車列表的URL嗎?或者我應該使用「用戶」資源插入用戶,然後爲每輛汽車在名爲「car」的資源中調用POST URL?RestFul網絡服務和數據庫事務
第二種方法有問題。這個過程必須通過數據庫事務來實現。如果插入汽車時出現問題,我希望用戶不要在數據庫中註冊。
我知道restFul體系結構必須是無狀態的,那麼如何使用數據庫功能來實現這樣的事務呢?我知道我可以實現某種交易,但我希望它更自動化。
在此先感謝。
這種方法我知道該怎麼做:p。當然這是一個有效的答案。我想知道另一種方法,在哪裏你會發送每輛車的URL,所以你必須實施某種數據庫交易系統。 但是,既然你展示了這種方法,讓我問你一些事情。用這種方法,讓我們想象我們的用戶是某種阿拉伯酋長,他有很多汽車。如果是這種情況,你最終可能會建立一個太大而無法正確發送的URL?由於這是一種POST方法,因此解決方案是增加服務器中的POST MAX SIZE?如果這是一個GET請求? –
並用這種方法,是不可能發送一個對象編碼?比方說,我想發送汽車,併發送他們的身份證和姓名。你會怎麼做?像carId [] = 1&carId [] = 2&carName []&carName []這樣的數組,並通過它們的索引匹配兩個數組?或者有沒有辦法以某種方式發送對象編碼? –
是的,你將不得不增加最大的帖子大小,我不會建議通過GET做到這一點。但是,PHP的最大發布大小默認爲8MB,這是一大堆文本。至於做它作爲一個編碼對象,是的,這也很好,無論適合你。國際海事組織我認爲最好在一次呼叫中完成,這樣可以節省1000輛汽車,而不是爲用戶和每輛汽車撥打1和1000次呼叫。 –