-
-
Save seratch/dd0314f4c9d74f9f9cf344c1db4bdc70 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
>カスタムクラスをモデルの型として利用したい | |
そうですね。標準の ParamType 以外の場合はこんな感じで定義してやります。 | |
このサンプル例の password パラメータは plain で受け取って hash にして保存しているサンプルです。 | |
https://github.com/skinny-framework/skinny-framework/blob/2.0.8/example/src/main/scala/controller/ProgrammersController.scala#L103-L107 | |
TypeConverter は Scalatra の仕様を踏襲して(というか 1.x はこのレイヤーは Scalatra だったので)そうなっているのですが params.getAs[Price]("price") とかやろうとすると必要になるという関係です。 | |
https://github.com/skinny-framework/skinny-micro/blob/1.0.4/micro/src/main/scala/skinny/micro/implicits/SkinnyMicroParamsImplicits.scala#L18 | |
https://github.com/skinny-framework/skinny-framework/blob/2.0.8/example/src/main/scala/model/PlainPassword.scala#L13 | |
>ただ、生成されたControllerでやってんのかなぁと思ったのだけど、なんか見当たらないというかどこかわからない。 | |
これの CompaniesController が Resource の継承ではなくベタに書いているサンプルです。 | |
https://github.com/skinny-framework/skinny-framework-example | |
SkinnyResource は実処理は Actions に書かれていてそれを Routes でルーティングに紐付けているという形です。 | |
http://skinny-framework.org/documentation/controller-and-routes.html#skinnyresource | |
もしルーティングだけ独自のやり方をしたければ Actions だけ継承するようにして Routes のところは Controllers.scala で書くなりすれば OK です。 | |
controller の処理内容を少しだけ変えたい場合はテンプレートメソッドパターン的に必要なところだけ override してもらえればよいです。 | |
https://github.com/skinny-framework/skinny-framework/blob/master/framework/src/main/scala/skinny/controller/SkinnyResourceActions.scala |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment