Open3
Go 1.22の新しいrouterについて
/{aaaa}/bbb/{ccc}
みたいな指定ができるが、/を前後に挟む必要がある。コード的にはガチガチ
例外はない。末尾に関しては/dddd/{eee...}
という風に指定すれば/は不要になる。
なので/users/{user_id}.json
みたいな指定はできない。正規表現も使えない。機能としては厳しすぎる。
おそらくこの本質はそこにないのだと思っていて、重要なのはr.SetPathValue
とr.PathValue
という標準関数が生まれたところ。
これまでリクエスト内で値を引き回したい場合はcontextを使うしかなかった。なのでrouterのライブラリはcontextに値を入れて引き回す構成にこれまでなっていた。
r.PathValue
で値を引けるようになったことで、標準が生まれたことと、contextを利用する必要が無くなった。contextだと任意のキーを指定できるので、routerのライブラリを変更する場合に大変だった。標準の仕組みに乗ることで純粋にrouterの実装だけ考えていればよく、値を引き回す仕組みは標準に乗っかれる。
chiは対応済み。この流れは加速すると思う。