感謝您花時間閱讀本文。我查看了Stack Overflow並沒有看到類似的問題,但是如果我錯過了一個,我表示歉意。使用REST發佈對象數組的典型技術
因此,我構建了一個RESTful API以及一個用戶界面,該用戶界面是所述REST API的(第一個)使用者。
我需要創建一個對象。該對象的創建需要大量的配置。
我瞭解我需要使用的動詞(POST - 讓我們不要爭論這一點)和我需要的URL路徑。我的問題是關於如何配置參數。讓我給你一個簡單的配置對象JSON格式,以便不可知:
{
name: "foo",
barid:1,
features:[
{
id:1,
config: {
foo:bar,
fubar:baz
}
},
{
id:2,
config: {
foo:bar,
fubar:baz
}
},...
]
}
所以我不知道這是什麼...什麼是張貼特徵參數的正確方法是什麼?我應該只使用一個JSON字符串「功能」並在服務器端反序列化它?是否有一些約定可以在RESTful POST中構建嵌套對象數組?其他開發商將不得不消耗這一點,我當然不希望人們不得不手工建造什麼jQuery的做了與我的JSON對象,它看起來像:
features[0][featureid]:2
features[0][configuration][min]:-64
features[0][configuration][max]:50
features[0][include]:true
features[1][featureid]:3
features[1][configuration][min]:0
features[1][configuration][max]:80.5
features[1][include]:true
我的Grails應用程序不喜歡那非常多:)
再次感謝您的時間。
嘿Splix - 我不知道關於Grails的事情,我很欣賞這些。我將在未來使用它(可能會重構另一個應用程序來使用它),但最終我真的在問一個關於REST的問題,而不是關於Grails。由於其他人將會使用我的RESTful API,我希望按照最少突擊的原則進行操作,並確保我的API以他們期望的方式使用,而不管語言和平臺如何。 – JSager 2012-02-03 14:59:06
您可以使用標準JSON(作爲POST body),這很常見,而且似乎大多數語言都可以使用JSON。如果你喜歡查詢參數 - 我沒有看到任何'features [0] .featured = 2'格式的問題,它也很常見(而且這是我第一次看到'features [0] [featured]:2') – 2012-02-03 15:11:26
謝謝。現在我要沿着JSON字符串路線走 – JSager 2012-02-03 19:27:11