【Elixir】URIクエリパラメータを作る
Elixir でURIクエリパラメータを作るメモ
環境
- Elixir 1.14.2
Elixir の URI.encode_query
ElixirにはURIモジュールがあり、URLを操作するための機能を提供しています。その中でも、URI.encode_query/1は、クエリパラメータをエンコードするために便利なメソッドです。URI.encode_query とは URI.encode_query/1は、キーと値のペアから構成されるマップを受け取り、URLエンコードされた文字列を返します。
このエンコードは、クエリストリングの形式でURLに付与するために使用されます。
| |
上記の例では、foo と baz の2つのキーとそれぞれに対応する値が含まれたマップを渡しています。
このマップは、foo=bar&baz=qux という文字列に変換されています。
注意点
URI.encode_query/1 は、URLエンコードされた文字列を返しますが、クエリパラメータの生成には URI.encode_query/1 だけでは不十分な場合があります。
たとえば、クエリストリングに含める値がURLエンコードされている場合は、それを再度エンコードする必要があります。
| |
上記の例では、fooの値がURLエンコードされた文字列であるため、URI.encode_query/1 によって再度エンコードされています。URI.encode_query/1 は、ElixirのURIモジュールで提供される機能の一つであり、クエリパラメータをエンコードするために便利なメソッドです。
ただし、注意点として、URLエンコードされた文字列を再度エンコードする必要があることがあります。