ちょっと本格的にAngularを再開。
色々作りこんでいく中でいくつか悩みとアイディアが出たのでメモ。
RestAPIにするか否か
顧客管理のようなシステムを作っている。
顧客への「発送」業務があり、これは顧客によりあったりなかったりする。
データモデルがつまり 顧客
1 ― * 発送
という形になっている。
基本的にresource型のRestfulAPIを守ろうとしたが、 どうしてもブラウザ上で「顧客」を登録してから「発送」を登録することになる。
ただでさえ遠いWebサーバーに2往復もするのに加えて、 業務手続でできれば分離したいコードが、準コントローラーなコード中にむき出しになってしまう。 しかもこれは、1画面に1つ占有するコードみたいなもので、再利用が難しい。(思い切ってService化するのもアリだが)
Restじゃなくて、普通にWebAPI化しようとも悩んだ。(あくまで業務手続という体を守りつつ、実質1画面専用のAPI) がしかし、どうしてもパラメータが複雑になってしまう。 変なJSONにしてPHPとPOSTパラメータの周りをうろちょろするぐらいなら、 JSON親和性の高いうちに、クライアントでシンプルなAPIパラメータに変形してしまったほうが良いだろう。
・・・と思い、結局RestfulAPIで、クライアントにもりもりコードを持っていくスタイルを取った。 WebAPIのリクエストベースなテストも書きやすくなるしね。
しかし、Angularのテスト可用性が本当に死んでいる。 もともとリッチUIの予定だったので、打検はもともとだったが。。
Validation
HTMLのValidatorAPI
。ありゃだめだった、エラーメッセージが1つしか出ない。
おとなしくAngular
の$validations
なりフレームワークやライブラリに頼って、
ラベルか自分でポップアップするかしたほうがよさそう。