Slide 19
Slide 19 text
Cluster, Inc. 20
Swaggerからコードを自動生成
クラスターで 、OpenAPI Generatorというツールを使って、swagger.yamlからク
ライアント用 APIクラス コードを自動生成している。
open class DefaultAPI {
/**
Returns a user by ID.
- parameter userId: (path) User ID
- parameter apiResponseQueue: The queue on which api response is dispatched.
- parameter completion: completion handler to receive the data and the error objects
*/
@discardableResult
open class func usersUserIdGet(userId: Int64, apiResponseQueue: DispatchQueue =
OpenAPIClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void))
-> RequestTask {
return usersUserIdGetWithRequestBuilder(userId: userId).execute(apiResponseQueue) { result in
switch result {
case .success:
completion((), nil)
case let .failure(error):
completion(nil, error)
}
}
}
}
openapi: 3.0.0
info:
title: Sample API
version: 1.0.0
servers:
- url: http://api.example.com/v1
paths:
/users/{userId}:
get:
summary: Returns a user by ID.
parameters:
- name: userId
in: path
required: true
description: User ID
schema:
type : integer
format: int64
minimum: 1
responses:
'200':
description: OK