2021年2月25日木曜日

SednaのXQueryバージョンがちょっと古い・・・まぁ問題ないんだけど

 golangで作ったRESTfulサーバにアクセスし、結果をJSONで戻してみた。

takahiro@takahiro-Virtual-Machine:~/gorest/src$ curl -i localhost:5000/foodstuff?foodname="りんご"

HTTP/1.1 200 OK

Content-Tye: application/json

Date: Thu, 25 Feb 2021 10:47:59 GMT

Content-Length: 769

Content-Type: text/plain; charset=utf-8

{"food": [{"food_id": "7148", "foodname": "りんご 皮なし 生"}, {"food_id": "7176", "foodname": "りんご 皮つき 生"}, {"foodname": "りんご 皮つき 焼き", "food_id": "7180"}, {"food_id": "7149", "foodname": "りんご 果実飲料 ストレートジュース"}, {"food_id": "7150", "foodname": "りんご 果実飲料 濃縮還元ジュース"}, {"food_id": "7151", "foodname": "りんご 果実飲料 50%果汁入り飲料"}, {"food_id": "7152", "foodname": "りんご 果実飲料 30%果汁入り飲料"}, {"food_id": "7153", "foodname": "りんご 缶詰"}, {"food_id": "7154", "foodname": "りんご ジャム"}, {"food_id": "17018", "foodname": "<調味料類> (食酢類) 果実酢 りんご酢"}]}

実はSedna XML DatabaseのSerialization機能を使ってJSONを戻そうとしたのだけど、Sedna の XQuryのバージョンが1.0らしく、3.0以降の機能が使えない、、、

つまり、SerializationでJSONとか指定できない、、、

仕方ないので、一度 Sedna から受け取ったXMLをgolangでJSONに変換し、ヘッダにapplication/jsonを設定して戻すこととした。

動きは上記の通り、

Curlでリクエストを投げ、結果がJSONでちゃんと戻っている。

今回はこれで事足りるんだけど、いずれ、何でもできるように SednaのXQueryを3.1などに対応させないとダメかもしれない。

0 件のコメント: