Avatar
omochimetaru 10/6/2020 7:46 AM
@discardableResult public func get<Response>( _ path: PathComponent..., use closure: @escaping (Request) throws -> Response ) -> Route where Response: ResponseEncodable { return self.on(.GET, path, use: closure) }
7:47 AM
routesの登録はジェネリックになってて、 ResponseEncodable な値を返す関数ならなんでもいいんですよね。
7:47 AM
String とかView が ResponseEncodable ですけど、 Response型に erase してしまうと一番自由度が高い。
7:48 AM
(このコードの Response は型パラメータ名だけど、 同じ名前の Response 型 もある )