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
import Vapor | |
import FluentMySQL // 1 | |
final class Post: MySQLModel { // 2 | |
var id: Int? | |
var title: String | |
var body: String // 3 | |
init(id: Int? = nil, title: String, body: String) { // 4 | |
self.id = id |
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
import Vapor | |
/// Controls basic CRUD operations on `Post`s. | |
final class PostController { | |
/// Returns a list of all `Posts`s. | |
/// GET /posts | |
func index(_ req: Request) throws -> Future<[Post]> { | |
return Post.query(on: req).all() //1 |
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
import Vapor | |
public func routes(_ router: Router) throws { | |
let postController = PostController() // 1 | |
// 2 | |
/// GET /posts | |
router.get("posts", use: postController.index) | |
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
import FluentSQLite | |
import Vapor | |
/// Called before your application initializes. | |
public func configure(_ config: inout Config, _ env: inout Environment, _ services: inout Services) throws { | |
// Register providers first | |
try services.register(FluentSQLiteProvider()) | |
// Register routes to the router |
OlderNewer