REST APIを使用する際にチュートリアル上、リクエストパラメータ(JSONデータ)の添え字でクオテーションで括っているコードと括られていないコートがあります。
var requestParam = {
'app': kintone.app.getId(),
'query': kintone.app.getQuery()
};
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', requestParam, function(resp) {
///後略
'GET', {
app: updateAppId,
query: 'lookup = ' + event.record['レコード番号'].value
}
appとquery部分なのですが、もちろん前後の文脈から変数ではないのですが、後者はクオテーションで括られていないですが動作します。また前者のように括っても動作しているように思われます。
JSONデータの私の拙い理解では添え字はクオテーションで括るはずだったと思うのですが、どちらが正しいAPI上の記法なのでしょうか?
宜しくお願い申し上げます。
4件のコメント
答えとしては
です。
JSONとの違いの解説記事
http://masarufuruya.hatenadiary.jp/entry/2017/09/02/162022
ESLintでのコーディング規約設定例(文法上は両方認められているが、ツールでチェックして統一できる)
https://eslint.org/docs/rules/quote-props
REST APIをcurlとかで叩く場合はJSON文字列として書くのが必須ですが、
JavaScript上でkintone.api()の引数に渡すときは、
JSON文字列でなくて「JavaScriptオブジェクトをそのまんま渡せばOK」
という回答のほうが良いかもですね。
赤座様
コメント有難うございます。
てっきりパラメータはJSONデータを渡しているものだと思っておりました。
また、リンク先非常に分かりやすかったです。
いつもご教示頂き深謝いたします。
*チュートリアルも同じ作者であれば、同じ記法で書いてくれればよいのにと思ったりもしますが。。
コーダーの中では使い分けがあるのかもしれませんが、、
宜しくお願い申し上げます。
まぁこの辺の「ユルさ」がJSの良いところでもあるので、
他者のコード読むときは暖かい気持ちで脳内変換しましょうw
開発時に記法を統一したければ、ESLint使うのがおすすめです。
kintone向けのチュートリアルもあるので、興味あれば。
https://developer.cybozu.io/hc/ja/articles/360000098886