Mojoフレームワーク開発の進捗

今日は、Webアプリケーションの「入り口」とも言える重要な機能、クエリパラメータのパース処理を実装しました。これは、ユーザーがURLの末尾に付けて送ってくる様々な情報(例えば、検索キーワードやユーザー設定など)を、プログラムが理解できる形に整える機能です。

具体的には、以下のような複雑なURLを正しく解釈できるようにしました。

http://localhost:8080/custom/?name=Taro+Tanaka&age=30&hobbies=reading&hobbies=movies&sports=[basketball,soccer]

この短いURLの中には、様々なデータ形式が詰め込まれています。今回の実装で、Webではおなじみの下記パターンに一通り対応できました。

特に、単一の値、複数の値、リストといった異なる形式のデータを、フレームワーク内部でどういうデータ構造として持つのが一番使いやすいか、という設計を考えるのがパズルのようで面白い部分です。

さて、次はどこに手をつけようかと思案中です。現状ではすべての値が単なる文字列として扱われていますが、これを数値や真偽値など、適切なとして扱えるようにする機能は必須だと考えています。また、今回作った仕組みを、フレームワークを使う開発者がより直感的かつ快適に扱えるよう、データ構造そのものの改善や、便利なメソッドの追加にも取り組んでいきたいです。

地道な作業ですが、フレームワークの土台を一つひとつ固めていくのは、やはり楽しいものですね。

次の日記もぜひ読んでください、何卒🔥