LiftのRestHelperさんでJsonPostとしてmatchしない
POSTしてるのにうまくmatchしなくて、
404が返ってくる(matchするController無いよ的な)状態だったんで、
なんでそうなってるのか調べてみた。
・ヘッダがいる
"Content-Type"が"application/json"になってないとNGってやつ。
書いたコード的にはここはOKだった。
・送ってるデータ(JSon)の問題
今回はここが引っかかってた
内部でPOSTされてくるJSonデータのバリデーションもしているので
{ "data0": "0" }
はOK。
{ "data0": "0", "data1": "0", }
もOK。(最終行末尾にカンマが余計)
{ "data0": "0", "data1": { "dataA": "A" } }
もOK。
{ "data0": "0", "data1": "{ "dataA": "A" }" }
がNG。(2階層目のデータもダブルクォーテーションでくくられてる)
JSon的にNGなのはわかってたんだけど、
他の人が書いたtestコードで通っているように見えたからいけるのかと思った。
(testコードは一度parseしているので、内部で修正されている気がする)