別にPlay2.3じゃなくてもいいと思うけども、メモ
Jsonのエラーがめんどかったので、チェックを2つ入れました。
異論は認める。
public static Result add() { // 情報をjsonで受け取る JsonNode jsonNode = request().body().asJson(); // 値が入っていないデータなら400エラー if (jsonNode.isNull()) { return badRequest("400 Bad Request"); } // jsonの形を確認。おかしいなら400エラー if (!jsonNode.has("first") || !jsonNode.has("secode")) { return badRequest("400 Bad Request"); } // Jsonをパース // なぜか知らないけど、うまくObjectで取得できないので置換する。 String jsonString = jsonNode.get("text").toString().replace("\"", ""); // 〜 省略 〜 return ok("返却するメッセージ"); }
この.has()ってのが結構便利ですね。事前に値が確認できるので。
入っているでしょ? って、思い込んでしまうとjsonNode.get("")で大変なことになるので、こういうメソッドがあって助かった( ´ー`)フゥー
しかし、自分でも思う。これは多分ダメだと。
if (!jsonNode.has("first") || !jsonNode.has("secode")) {
この書き方はまずいな。JsonのKey(?っていうのかね?)が、増えれば増えるほど、if文が長くなる。これはNGだ。
他に良い方法があれば、ご教授願いたい。m(_ _ )m