ricardopsantos / RJSP_VaporWebServer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Swift 5.3 Swift 5.3 SPM Twitter

About

This is quick start web server, built using Vapor 4.0 and was how this series of articles started...


Features

Using Swift generics, the routing funtion...

func routes(_ app: Application) throws {
    
    app.get { req -> String in
        req.log(app)
        return "Hello stranger!\n\nChoose wishly:\n* https://www.linkedin.com/in/ricardopsantos\n* https://www.youtube.com/watch?v=dQw4w9WgXcQ"
    }
    
    app.get("version") { req -> String in
        req.log(app)
        let version = "Version 1.0.0"
        return "\(version)\n\n\(app.environment)"
    }
       
    let collection_Config = GenericController<KeyValueDBModel>()
    collection_Config.validOperations = [.get]
    try app.register(collection: collection_Config)

    let collection_Logs = GenericController<LogsDBModel>()
    collection_Logs.validOperations = [.add, .get]
    try app.register(collection: collection_Logs)

    let collection_Todo = GenericController<TodoDBModel>()
    collection_Todo.validOperations = [.all]
    try app.register(collection: collection_Todo)
}

...will automatically build all this routes with the basic CRUD operations.

  • GET

  • GET /version

  • GET /config

  • GET /config/operations/:id

  • GET /messages

  • POST /messages

  • GET /messages/operations/:id

  • DELETE /messages/operations/:id

  • GET /todos

  • POST /todos

  • GET /todos/operations/:id

  • DELETE /todos/operations/:id

About


Languages

Language:Swift 93.0%Language:Dockerfile 7.0%