2015/07/12の定期メンテナンスにより、
kintone REST APIのレコードの一括取得(クエリで条件を指定)の振る舞いが一部変更となりました。
この変更によって、結果レスポンスが空だった場合のデータ内容も変更となっています。
空のレスポンスのデータ内容
7/12 更新前
“{”“records”“:[]}”
7/12 更新後
“{”“records”“:[],”“totalCount”“:null}”
自作のアプリ内で結果レスポンスの値に応じて条件分岐されている場合、7/12更新前の条件では空データであることを検知できません。
kintoneのAPIは項目の「仕様変更」は行わないが、「追加」はありうる、というスタンスなので、
レスポンスにrecordsオブジェクト「しかない」という前提でカスタマイズを行うと、将来動かなくなる可能性がありますね。
この場合は
result.records.length == 0
の場合に空としておけば、バージョンアップ後の動作は保証されると思います。
エラーメッセージなどで条件分岐されることもあるかもしれませんが、
これも現状は仕様変更しないことが保証されませんので注意が必要です。
(サイボウズから仕様変更にともなうルールがどこかに公開されていた気がしたのですが忘れてしまいました。すみません)
門屋さん
こんばんは。長井です。
下記の件、おっしゃるとおりですね。ありがとうございます。文言そのものよりもオブジェクトのプロパティ値で判別されたほうが確実です。
私も昨夜、"totalCount”:null が追加された件についての仕様変更の告知がなかったように思えたので探してみたのですがやはり見当たりませんでした。
多分 "totalCount”:null を条件にして分岐される方はいらっしゃらないとは思いますが、そういった方は result.records.length == 0 に変えることをお勧めしたいですね。ありがとうございます♪