Skip to content

Commit 193989e

Browse files
authored
Update server tutorial codebase, fixes #333 (#338)
This pull request aims to fix the server tutorial sample code. Sample snippets updated to use Swift 5.9 and Swift OpenAPI generator tools 0.3.0+
1 parent f8f88d2 commit 193989e

19 files changed

+52
-34
lines changed

Examples/GreetingService/Sources/GreetingService/GreetingService.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ struct Main {
5555
let handler = Handler()
5656

5757
// Call the generated protocol function on the handler to configure the Vapor application.
58-
try handler.registerHandlers(on: transport, serverURL: Servers.server1())
58+
try handler.registerHandlers(on: transport, serverURL: Servers.server2())
5959

6060
// Start the Vapor application, in the same way as if it was manually configured.
6161
try app.run()

Examples/GreetingService/Sources/GreetingService/openapi.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
openapi: '3.0.3'
1+
openapi: '3.1.0'
22
info:
33
title: GreetingService
44
version: 1.0.0
55
servers:
66
- url: https://example.com/api
7-
description: Example
7+
description: Example service deployment.
8+
- url: http://127.0.0.1:8080/api
9+
description: Localhost deployment.
810
paths:
911
/greet:
1012
get:
@@ -13,7 +15,7 @@ paths:
1315
- name: name
1416
required: false
1517
in: query
16-
description: A name used in the returned greeting.
18+
description: The name used in the returned greeting.
1719
schema:
1820
type: string
1921
responses:

Examples/GreetingServiceClient/Sources/GreetingServiceClient/openapi.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
openapi: '3.0.3'
1+
openapi: '3.1.0'
22
info:
33
title: GreetingService
44
version: 1.0.0
55
servers:
66
- url: https://example.com/api
7-
description: Example
8-
- url: http://localhost:8080/api
9-
description: Localhost
7+
description: Example service deployment.
8+
- url: http://127.0.0.1:8080/api
9+
description: Localhost deployment.
1010
paths:
1111
/greet:
1212
get:
@@ -15,7 +15,7 @@ paths:
1515
- name: name
1616
required: false
1717
in: query
18-
description: A name used in the returned greeting.
18+
description: The name used in the returned greeting.
1919
schema:
2020
type: string
2121
responses:

Sources/swift-openapi-generator/Documentation.docc/Tutorials/ClientSwiftPM.tutorial

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@Tutorial(time: 20) {
2-
@XcodeRequirement(title: "Swift 5.8 ", destination: "https://developer.apple.com/download/")
2+
@XcodeRequirement(title: "Swift 5.9 ", destination: "https://developer.apple.com/download/applications/")
33

44
@Intro(title: "Generating a client in a Swift package") {
55
This tutorial guides you through building _GreetingServiceClient_—an API client for a fictitious service that returns a personalized greeting.

Sources/swift-openapi-generator/Documentation.docc/Tutorials/ClientXcode.tutorial

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@Tutorial(time: 20) {
2-
@XcodeRequirement(title: "Swift 5.8 ", destination: "https://developer.apple.com/download/")
2+
@XcodeRequirement(title: "Swift 5.9 ", destination: "https://developer.apple.com/download/applications/")
33

44
@Intro(title: "Generating a client in an Xcode project") {
55
This tutorial guides you through building _GreetingServiceClient_—an API client for a fictitious service that returns a personalized greeting.

Sources/swift-openapi-generator/Documentation.docc/Tutorials/ServerSwiftPM.tutorial

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@Tutorial(time: 20) {
2-
@XcodeRequirement(title: "Swift 5.8 ", destination: "https://developer.apple.com/download/")
2+
@XcodeRequirement(title: "Swift 5.9 ", destination: "https://developer.apple.com/download/applications/")
33

44
@Intro(title: "Generating server stubs in a Swift package") {
55

Sources/swift-openapi-generator/Documentation.docc/Tutorials/_Resources/client.Package.0.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.8
1+
// swift-tools-version: 5.9
22
import PackageDescription
33

44
let package = Package(

Sources/swift-openapi-generator/Documentation.docc/Tutorials/_Resources/client.Package.1.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
// swift-tools-version: 5.8
1+
// swift-tools-version: 5.9
22
import PackageDescription
33

44
let package = Package(
55
name: "GreetingServiceClient",
66
platforms: [
7-
.macOS(.v10_15), .iOS(.v13), .tvOS(.v13), .watchOS(.v6),
7+
.macOS(.v10_15),
8+
.iOS(.v13),
9+
.tvOS(.v13),
10+
.watchOS(.v6),
811
],
912
targets: [
1013
.executableTarget(

Sources/swift-openapi-generator/Documentation.docc/Tutorials/_Resources/client.Package.2.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
// swift-tools-version: 5.8
1+
// swift-tools-version: 5.9
22
import PackageDescription
33

44
let package = Package(
55
name: "GreetingServiceClient",
66
platforms: [
7-
.macOS(.v10_15), .iOS(.v13), .tvOS(.v13), .watchOS(.v6),
7+
.macOS(.v10_15),
8+
.iOS(.v13),
9+
.tvOS(.v13),
10+
.watchOS(.v6),
811
],
912
dependencies: [
1013
.package(url: "https://github.com/apple/swift-openapi-generator", .upToNextMinor(from: "0.3.0")),

Sources/swift-openapi-generator/Documentation.docc/Tutorials/_Resources/client.Package.3.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
// swift-tools-version: 5.8
1+
// swift-tools-version: 5.9
22
import PackageDescription
33

44
let package = Package(
55
name: "GreetingServiceClient",
66
platforms: [
7-
.macOS(.v10_15), .iOS(.v13), .tvOS(.v13), .watchOS(.v6),
7+
.macOS(.v10_15),
8+
.iOS(.v13),
9+
.tvOS(.v13),
10+
.watchOS(.v6),
811
],
912
dependencies: [
1013
.package(url: "https://github.com/apple/swift-openapi-generator", .upToNextMinor(from: "0.3.0")),

Sources/swift-openapi-generator/Documentation.docc/Tutorials/_Resources/client.Package.4.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
// swift-tools-version: 5.8
1+
// swift-tools-version: 5.9
22
import PackageDescription
33

44
let package = Package(
55
name: "GreetingServiceClient",
66
platforms: [
7-
.macOS(.v10_15), .iOS(.v13), .tvOS(.v13), .watchOS(.v6),
7+
.macOS(.v10_15),
8+
.iOS(.v13),
9+
.tvOS(.v13),
10+
.watchOS(.v6),
811
],
912
dependencies: [
1013
.package(url: "https://github.com/apple/swift-openapi-generator", .upToNextMinor(from: "0.3.0")),

Sources/swift-openapi-generator/Documentation.docc/Tutorials/_Resources/client.Package.5.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
// swift-tools-version: 5.8
1+
// swift-tools-version: 5.9
22
import PackageDescription
33

44
let package = Package(
55
name: "GreetingServiceClient",
66
platforms: [
7-
.macOS(.v10_15), .iOS(.v13), .tvOS(.v13), .watchOS(.v6),
7+
.macOS(.v10_15),
8+
.iOS(.v13),
9+
.tvOS(.v13),
10+
.watchOS(.v6),
811
],
912
dependencies: [
1013
.package(url: "https://github.com/apple/swift-openapi-generator", .upToNextMinor(from: "0.3.0")),

Sources/swift-openapi-generator/Documentation.docc/Tutorials/_Resources/server.Package.0.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.8
1+
// swift-tools-version: 5.9
22
import PackageDescription
33

44
let package = Package(

Sources/swift-openapi-generator/Documentation.docc/Tutorials/_Resources/server.Package.1.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.8
1+
// swift-tools-version: 5.9
22
import PackageDescription
33

44
let package = Package(

Sources/swift-openapi-generator/Documentation.docc/Tutorials/_Resources/server.Package.2.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.8
1+
// swift-tools-version: 5.9
22
import PackageDescription
33

44
let package = Package(
@@ -10,7 +10,7 @@ let package = Package(
1010
.package(url: "https://github.com/apple/swift-openapi-generator", .upToNextMinor(from: "0.3.0")),
1111
.package(url: "https://github.com/apple/swift-openapi-runtime", .upToNextMinor(from: "0.3.0")),
1212
.package(url: "https://github.com/swift-server/swift-openapi-vapor", .upToNextMinor(from: "0.3.0")),
13-
.package(url: "https://github.com/vapor/vapor", from: "4.76.0"),
13+
.package(url: "https://github.com/vapor/vapor", from: "4.84.0"),
1414
],
1515
targets: [
1616
.executableTarget(

Sources/swift-openapi-generator/Documentation.docc/Tutorials/_Resources/server.Package.3.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.8
1+
// swift-tools-version: 5.9
22
import PackageDescription
33

44
let package = Package(
@@ -10,7 +10,7 @@ let package = Package(
1010
.package(url: "https://github.com/apple/swift-openapi-generator", .upToNextMinor(from: "0.3.0")),
1111
.package(url: "https://github.com/apple/swift-openapi-runtime", .upToNextMinor(from: "0.3.0")),
1212
.package(url: "https://github.com/swift-server/swift-openapi-vapor", .upToNextMinor(from: "0.3.0")),
13-
.package(url: "https://github.com/vapor/vapor", from: "4.76.0"),
13+
.package(url: "https://github.com/vapor/vapor", from: "4.84.0"),
1414
],
1515
targets: [
1616
.executableTarget(

Sources/swift-openapi-generator/Documentation.docc/Tutorials/_Resources/server.Package.4.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.8
1+
// swift-tools-version: 5.9
22
import PackageDescription
33

44
let package = Package(
@@ -10,7 +10,7 @@ let package = Package(
1010
.package(url: "https://github.com/apple/swift-openapi-generator", .upToNextMinor(from: "0.3.0")),
1111
.package(url: "https://github.com/apple/swift-openapi-runtime", .upToNextMinor(from: "0.3.0")),
1212
.package(url: "https://github.com/swift-server/swift-openapi-vapor", .upToNextMinor(from: "0.3.0")),
13-
.package(url: "https://github.com/vapor/vapor", from: "4.76.0"),
13+
.package(url: "https://github.com/vapor/vapor", from: "4.84.0"),
1414
],
1515
targets: [
1616
.executableTarget(

Sources/swift-openapi-generator/Documentation.docc/Tutorials/_Resources/server.Package.5.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.8
1+
// swift-tools-version: 5.9
22
import PackageDescription
33

44
let package = Package(
@@ -10,7 +10,7 @@ let package = Package(
1010
.package(url: "https://github.com/apple/swift-openapi-generator", .upToNextMinor(from: "0.3.0")),
1111
.package(url: "https://github.com/apple/swift-openapi-runtime", .upToNextMinor(from: "0.3.0")),
1212
.package(url: "https://github.com/swift-server/swift-openapi-vapor", .upToNextMinor(from: "0.3.0")),
13-
.package(url: "https://github.com/vapor/vapor", from: "4.76.0"),
13+
.package(url: "https://github.com/vapor/vapor", from: "4.84.0"),
1414
],
1515
targets: [
1616
.executableTarget(

Sources/swift-openapi-generator/Documentation.docc/Tutorials/_Resources/server.main.2.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ struct GreetingServiceAPIImpl: APIProtocol {
1717
_ input: Operations.getEmoji.Input
1818
) async throws -> Operations.getEmoji.Output {
1919
let emojis = "👋👍👏🙏🤙🤘"
20-
return .ok(.init(body: .text(String(emojis.randomElement()!))))
20+
let emoji = String(emojis.randomElement()!)
21+
return .ok(.init(body: .plainText(.init(emoji))))
2122
}
2223
}
2324

0 commit comments

Comments
 (0)