Skip to Content
Extending Swift Value(s) to the Server
book

Extending Swift Value(s) to the Server

by David Ungar, Robert Dickerson
February 2017
Intermediate to advanced
75 pages
1h 37m
English
O'Reilly Media, Inc.
Content preview from Extending Swift Value(s) to the Server

Chapter 5. Writing a To-Do List with Kitura

This chapter explains how to build a simple web service in Swift. The service stores a list of to-do list items in a database, and is accessed with a REST interface.

Along the way, you will learn to:

  1. Create handlers for GET and POST requests
  2. Receive and send JSON
  3. Deploy your application to Bluemix
  4. Do error handling
  5. Use authentication in your application

You’ll use Kitura, which is a Swift web framework library produced at IBM that helps developers build web applications. This framework includes an HTTP server that can listen for new client connections and route their requests to an appropriate handler. Its treatment of URL routing and pluggable middleware follows the course set by other popular web middleware frameworks like Sinatra (from Ruby), Flask (from Python), and Express.js (from NodeJS).

Servers and Routers

In order to direct incoming requests to places in your program, you must register routes with an instance of Kitura’s Router class. After you import the Kitura module with SwiftPM, your code must create the router:

let router = Router()

Before an incoming request can get to the router, an HTTP server must be listening on a TCP port. Create the server, register it to your Router, and have it listen on port 8090:

Kitura.addHTTPServer(onPort: 8090, with: router)
Kitura.run()

Multiple Servers

The Kitura runtime supports creating multiple HTTP servers. These servers can be listening on different ports, and you can also ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Pro iOS Persistence : Using Core Data

Pro iOS Persistence : Using Core Data

Michael Privat, Robert Warner

Publisher Resources

ISBN: 9781492048817Errata Page