RESTfulなWEBアプリケーションを構築しています。
現在、クライアントサイド(HTML5 + JavaScript)から、サーバサイド(Java Spark Framework)のAPIをHTTPメソッドGETでキックする必要があり、その際の配列データの受け渡しで困っています。
通常Ajaxのdataパラメータを利用することと思いますが、下記のように配列を含めた場合、
GETパラメータはarray[]=hoge1&indexName[]=hoge2&indexName[]=hoge3
のようにキー名に[]
が
付与される形で渡されることになるかと思います。
var req = {"array": ["hoge1", "hoge2", "hoge3"]} function() { $.ajax({ url: xxxxxxxxxx, type: "GET", dataType: "json", data: req }).done(function(res) { }).fail(function(res) { });
一方で下記の記事のように、カンマ区切りの文字列で渡す方法もあるのかなと思います。
http://javatechnology.net/ajax/json-parameter-array/
var req = {"array": "hoge1, hoge2, hoge3"} function() { $.ajax({ url: xxxxxxxxxx, type: "GET", dataType: "json", data: req }).done(function(res) { }).fail(function(res) { });
いずれもサーバサイドのパース処理次第でどうにでもなるのかなと思いますが、
クエリパラメータの仕様として階層構造を持ったデータの渡し方が定められているのでしょうか?
クライアントもサーバもオレオレ仕様でやり取りしているだけでしょうか?
RESTFulなAPIを設計した場合、このようにGETで階層構造を持つデータをやり取りする際に、
煩雑だなと感じています。(全てPOSTもありなのではないかと。)
これは蛇足ですが、もしご存知でしたら
サーバサイド(Java)のクエリパラメータのパース処理ライブラリがあればご教示ください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。