[Swift 4] Fix APIHelper to accept array parameter (#7821)

* fix typo

* use URLComponents instead of NSURLComponents

* add encode method for any type

* Add public initializer for modelObject

* change id to _id

* fix APIHelper funcs for array query parameters

* make public to write unit test

* add APIHelperTests

* fix typo

* fix regression
This commit is contained in:
Daiki Matsudate 2018-03-21 01:23:47 +09:00 committed by William Cheng
parent f023327558
commit 3b7230b170
235 changed files with 883 additions and 1040 deletions

View File

@ -345,7 +345,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
fileprivate func getPath(from url : URL) throws -> String {
guard var path = NSURLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
guard var path = URLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
throw DownloadException.requestMissingPath
}
@ -373,4 +373,4 @@ fileprivate enum DownloadException : Error {
case requestMissing
case requestMissingPath
case requestMissingURL
}
}

View File

@ -141,16 +141,14 @@ open class {{classname}}: APIBase {
{{^hasFormParams}}
let parameters: [String:Any]? = nil
{{/hasFormParams}}
{{/bodyParam}}
let url = NSURLComponents(string: URLString)
{{#hasQueryParams}}
{{/bodyParam}}{{#hasQueryParams}}
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
{{#queryParams}}
{{> _param}}{{#hasMore}}, {{/hasMore}}
{{/queryParams}}
])
{{/hasQueryParams}}
]){{/hasQueryParams}}{{^hasQueryParams}}
let url = URLComponents(string: URLString){{/hasQueryParams}}
{{#headerParams}}
{{^secondaryParam}}
let nillableHeaders: [String: Any?] = [

View File

@ -6,12 +6,11 @@
import Foundation
class APIHelper {
static func rejectNil(_ source: [String:Any?]) -> [String:Any]? {
var destination = [String:Any]()
for (key, nillableValue) in source {
if let value: Any = nillableValue {
destination[key] = value
public struct APIHelper {
public static func rejectNil(_ source: [String:Any?]) -> [String:Any]? {
let destination = source.reduce(into: [String: Any]()) { (result, item) in
if let value = item.value {
result[item.key] = value
}
}
@ -21,45 +20,46 @@ class APIHelper {
return destination
}
static func rejectNilHeaders(_ source: [String:Any?]) -> [String:String] {
var destination = [String:String]()
for (key, nillableValue) in source {
if let value: Any = nillableValue {
destination[key] = "\(value)"
public static func rejectNilHeaders(_ source: [String:Any?]) -> [String:String] {
return source.reduce(into: [String: String]()) { (result, item) in
if let collection = item.value as? Array<Any?> {
result[item.key] = collection.filter({ $0 != nil }).map{ "\($0!)" }.joined(separator: ",")
} else if let value: Any = item.value {
result[item.key] = "\(value)"
}
}
return destination
}
static func convertBoolToString(_ source: [String: Any]?) -> [String:Any]? {
public static func convertBoolToString(_ source: [String: Any]?) -> [String:Any]? {
guard let source = source else {
return nil
}
var destination = [String:Any]()
let theTrue = NSNumber(value: true as Bool)
let theFalse = NSNumber(value: false as Bool)
for (key, value) in source {
switch value {
case let x where x as? NSNumber === theTrue || x as? NSNumber === theFalse:
destination[key] = "\(value as! Bool)" as Any?
return source.reduce(into: [String: Any](), { (result, item) in
switch item.value {
case let x as Bool:
result[item.key] = x.description
default:
destination[key] = value
result[item.key] = item.value
}
})
}
public static func mapValuesToQueryItems(_ source: [String:Any?]) -> [URLQueryItem]? {
let destination = source.filter({ $0.value != nil}).reduce(into: [URLQueryItem]()) { (result, item) in
if let collection = item.value as? Array<Any?> {
let value = collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
result.append(URLQueryItem(name: item.key, value: value))
} else if let value = item.value {
result.append(URLQueryItem(name: item.key, value: "\(value)"))
}
}
if destination.isEmpty {
return nil
}
return destination
}
static func mapValuesToQueryItems(values: [String:Any?]) -> [URLQueryItem]? {
let returnValues = values
.filter { $0.1 != nil }
.map { (item: (_key: String, _value: Any?)) -> URLQueryItem in
URLQueryItem(name: item._key, value:"\(item._value!)")
}
if returnValues.count == 0 {
return nil
}
return returnValues
}
}

View File

@ -268,7 +268,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
fileprivate func getPath(from url : URL) throws -> String {
guard var path = NSURLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
guard var path = URLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
throw DownloadException.requestMissingPath
}

View File

@ -24,4 +24,20 @@ open class JSONEncodingHelper {
return params
}
open class func encodingParameters(forEncodableObject encodableObj: Any?) -> Parameters? {
var params: Parameters? = nil
if let encodableObj = encodableObj {
do {
let data = try JSONSerialization.data(withJSONObject: encodableObj, options: .prettyPrinted)
params = JSONDataEncoding.encodingParameters(jsonData: data)
} catch {
print(error)
return nil
}
}
return params
}
}

View File

@ -127,16 +127,14 @@ open class {{classname}} {
{{^hasFormParams}}
let parameters: [String:Any]? = nil
{{/hasFormParams}}
{{/bodyParam}}
let url = NSURLComponents(string: URLString)
{{#hasQueryParams}}
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
{{/bodyParam}}{{#hasQueryParams}}
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems([
{{#queryParams}}
{{> _param}}{{#hasMore}}, {{/hasMore}}
{{/queryParams}}
])
{{/hasQueryParams}}{{#headerParams}}{{^secondaryParam}}
]){{/hasQueryParams}}{{^hasQueryParams}}
let url = URLComponents(string: URLString){{/hasQueryParams}}{{#headerParams}}{{^secondaryParam}}
let nillableHeaders: [String: Any?] = [{{/secondaryParam}}
{{> _param}}{{#hasMore}},{{/hasMore}}{{^hasMore}}
]

View File

@ -29,7 +29,6 @@ public struct {{classname}}: Codable {
{{/allVars}}
}
{{/hasVars}}
{{#additionalPropertiesType}}
public var additionalProperties: [String:{{{additionalPropertiesType}}}] = [:]

View File

@ -60,7 +60,7 @@ feature -- Test routines
test_find_pets_by_tags
-- Finds Pets by tags
--
-- Muliple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-- Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
local
l_response: LIST [PET]
l_tags: LIST [STRING_32]

View File

@ -84,7 +84,7 @@ public class PetApiTest {
/**
* Finds Pets by tags
*
* Muliple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
* Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
*
* @throws ApiException
* if the Api call fails

View File

@ -38,7 +38,7 @@ open class AnotherFakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -34,7 +34,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterBoolean>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -69,7 +69,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterComposite>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -100,7 +100,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterNumber>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -131,7 +131,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterString>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -166,7 +166,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -243,8 +243,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -363,8 +363,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"enum_query_string_array": enumQueryStringArray,
"enum_query_string": enumQueryString?.rawValue,
@ -413,8 +413,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -39,7 +39,7 @@ open class FakeClassnameTags123API: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -39,7 +39,7 @@ open class Fake_classname_tags123API: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -37,7 +37,7 @@ open class PetAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -75,8 +75,8 @@ open class PetAPI: APIBase {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let nillableHeaders: [String: Any?] = [
"api_key": apiKey
]
@ -206,8 +206,8 @@ open class PetAPI: APIBase {
let path = "/pet/findByStatus"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"status": status
])
@ -327,8 +327,8 @@ open class PetAPI: APIBase {
let path = "/pet/findByTags"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"tags": tags
])
@ -419,8 +419,8 @@ open class PetAPI: APIBase {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Pet>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -454,7 +454,7 @@ open class PetAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -500,8 +500,8 @@ open class PetAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -552,8 +552,8 @@ open class PetAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<ApiResponse>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -37,8 +37,8 @@ open class StoreAPI: APIBase {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -72,8 +72,8 @@ open class StoreAPI: APIBase {
let path = "/store/inventory"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<[String:Int32]>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -137,8 +137,8 @@ open class StoreAPI: APIBase {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -200,7 +200,7 @@ open class StoreAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -35,7 +35,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -67,7 +67,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -99,7 +99,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -133,8 +133,8 @@ open class UserAPI: APIBase {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -206,8 +206,8 @@ open class UserAPI: APIBase {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<User>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -244,8 +244,8 @@ open class UserAPI: APIBase {
let path = "/user/login"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"username": username,
"password": password
@ -278,8 +278,8 @@ open class UserAPI: APIBase {
let path = "/user/logout"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -316,7 +316,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -345,7 +345,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
fileprivate func getPath(from url : URL) throws -> String {
guard var path = NSURLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
guard var path = URLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
throw DownloadException.requestMissingPath
}
@ -373,4 +373,4 @@ fileprivate enum DownloadException : Error {
case requestMissing
case requestMissingPath
case requestMissingURL
}
}

View File

@ -38,7 +38,7 @@ open class AnotherFakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -34,7 +34,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterBoolean>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -69,7 +69,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterComposite>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -100,7 +100,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterNumber>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -131,7 +131,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterString>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -166,7 +166,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -243,8 +243,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -363,8 +363,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"enum_query_string_array": enumQueryStringArray,
"enum_query_string": enumQueryString?.rawValue,
@ -413,8 +413,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -39,7 +39,7 @@ open class FakeClassnameTags123API: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -37,7 +37,7 @@ open class PetAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -75,8 +75,8 @@ open class PetAPI: APIBase {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let nillableHeaders: [String: Any?] = [
"api_key": apiKey
]
@ -206,8 +206,8 @@ open class PetAPI: APIBase {
let path = "/pet/findByStatus"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"status": status
])
@ -327,8 +327,8 @@ open class PetAPI: APIBase {
let path = "/pet/findByTags"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"tags": tags
])
@ -419,8 +419,8 @@ open class PetAPI: APIBase {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Pet>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -454,7 +454,7 @@ open class PetAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -500,8 +500,8 @@ open class PetAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -552,8 +552,8 @@ open class PetAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<ApiResponse>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -37,8 +37,8 @@ open class StoreAPI: APIBase {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -72,8 +72,8 @@ open class StoreAPI: APIBase {
let path = "/store/inventory"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<[String:Int32]>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -137,8 +137,8 @@ open class StoreAPI: APIBase {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -200,7 +200,7 @@ open class StoreAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -35,7 +35,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -67,7 +67,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -99,7 +99,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -133,8 +133,8 @@ open class UserAPI: APIBase {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -206,8 +206,8 @@ open class UserAPI: APIBase {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<User>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -244,8 +244,8 @@ open class UserAPI: APIBase {
let path = "/user/login"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"username": username,
"password": password
@ -278,8 +278,8 @@ open class UserAPI: APIBase {
let path = "/user/logout"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -316,7 +316,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -345,7 +345,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
fileprivate func getPath(from url : URL) throws -> String {
guard var path = NSURLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
guard var path = URLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
throw DownloadException.requestMissingPath
}
@ -373,4 +373,4 @@ fileprivate enum DownloadException : Error {
case requestMissing
case requestMissingPath
case requestMissingURL
}
}

View File

@ -55,7 +55,7 @@ open class AnotherFakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -50,7 +50,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterBoolean>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -100,7 +100,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterComposite>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -146,7 +146,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterNumber>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -192,7 +192,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterString>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -243,7 +243,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -349,8 +349,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -492,8 +492,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"enum_query_string_array": enumQueryStringArray,
"enum_query_string": enumQueryString?.rawValue,
@ -559,8 +559,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -56,7 +56,7 @@ open class FakeClassnameTags123API: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -54,7 +54,7 @@ open class PetAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -109,8 +109,8 @@ open class PetAPI: APIBase {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let nillableHeaders: [String: Any?] = [
"api_key": apiKey
]
@ -256,8 +256,8 @@ open class PetAPI: APIBase {
let path = "/pet/findByStatus"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"status": status
])
@ -393,8 +393,8 @@ open class PetAPI: APIBase {
let path = "/pet/findByTags"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"tags": tags
])
@ -501,8 +501,8 @@ open class PetAPI: APIBase {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Pet>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -552,7 +552,7 @@ open class PetAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -616,8 +616,8 @@ open class PetAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -686,8 +686,8 @@ open class PetAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<ApiResponse>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -54,8 +54,8 @@ open class StoreAPI: APIBase {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -104,8 +104,8 @@ open class StoreAPI: APIBase {
let path = "/store/inventory"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<[String:Int32]>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -185,8 +185,8 @@ open class StoreAPI: APIBase {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -264,7 +264,7 @@ open class StoreAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -52,7 +52,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -100,7 +100,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -148,7 +148,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -198,8 +198,8 @@ open class UserAPI: APIBase {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -287,8 +287,8 @@ open class UserAPI: APIBase {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<User>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -342,8 +342,8 @@ open class UserAPI: APIBase {
let path = "/user/login"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"username": username,
"password": password
@ -391,8 +391,8 @@ open class UserAPI: APIBase {
let path = "/user/logout"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -446,7 +446,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -345,7 +345,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
fileprivate func getPath(from url : URL) throws -> String {
guard var path = NSURLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
guard var path = URLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
throw DownloadException.requestMissingPath
}
@ -373,4 +373,4 @@ fileprivate enum DownloadException : Error {
case requestMissing
case requestMissingPath
case requestMissingURL
}
}

View File

@ -57,7 +57,7 @@ open class AnotherFakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -52,7 +52,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterBoolean>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -104,7 +104,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterComposite>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -152,7 +152,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterNumber>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -200,7 +200,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterString>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -253,7 +253,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -361,8 +361,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -506,8 +506,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"enum_query_string_array": enumQueryStringArray,
"enum_query_string": enumQueryString?.rawValue,
@ -575,8 +575,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -58,7 +58,7 @@ open class FakeClassnameTags123API: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -56,7 +56,7 @@ open class PetAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -113,8 +113,8 @@ open class PetAPI: APIBase {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let nillableHeaders: [String: Any?] = [
"api_key": apiKey
]
@ -262,8 +262,8 @@ open class PetAPI: APIBase {
let path = "/pet/findByStatus"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"status": status
])
@ -401,8 +401,8 @@ open class PetAPI: APIBase {
let path = "/pet/findByTags"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"tags": tags
])
@ -511,8 +511,8 @@ open class PetAPI: APIBase {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Pet>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -564,7 +564,7 @@ open class PetAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -630,8 +630,8 @@ open class PetAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -702,8 +702,8 @@ open class PetAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<ApiResponse>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -56,8 +56,8 @@ open class StoreAPI: APIBase {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -108,8 +108,8 @@ open class StoreAPI: APIBase {
let path = "/store/inventory"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<[String:Int32]>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -191,8 +191,8 @@ open class StoreAPI: APIBase {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -272,7 +272,7 @@ open class StoreAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -54,7 +54,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -104,7 +104,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -154,7 +154,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -206,8 +206,8 @@ open class UserAPI: APIBase {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -297,8 +297,8 @@ open class UserAPI: APIBase {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<User>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -354,8 +354,8 @@ open class UserAPI: APIBase {
let path = "/user/login"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"username": username,
"password": password
@ -405,8 +405,8 @@ open class UserAPI: APIBase {
let path = "/user/logout"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -462,7 +462,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -345,7 +345,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
fileprivate func getPath(from url : URL) throws -> String {
guard var path = NSURLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
guard var path = URLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
throw DownloadException.requestMissingPath
}
@ -373,4 +373,4 @@ fileprivate enum DownloadException : Error {
case requestMissing
case requestMissingPath
case requestMissingURL
}
}

View File

@ -38,7 +38,7 @@ open class AnotherFakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -34,7 +34,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterBoolean>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -69,7 +69,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterComposite>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -100,7 +100,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterNumber>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -131,7 +131,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body?.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterString>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -166,7 +166,7 @@ open class FakeAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -243,8 +243,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -363,8 +363,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"enum_query_string_array": enumQueryStringArray,
"enum_query_string": enumQueryString?.rawValue,
@ -413,8 +413,8 @@ open class FakeAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -39,7 +39,7 @@ open class FakeClassnameTags123API: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -37,7 +37,7 @@ open class PetAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -75,8 +75,8 @@ open class PetAPI: APIBase {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let nillableHeaders: [String: Any?] = [
"api_key": apiKey
]
@ -206,8 +206,8 @@ open class PetAPI: APIBase {
let path = "/pet/findByStatus"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"status": status
])
@ -327,8 +327,8 @@ open class PetAPI: APIBase {
let path = "/pet/findByTags"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"tags": tags
])
@ -419,8 +419,8 @@ open class PetAPI: APIBase {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Pet>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -454,7 +454,7 @@ open class PetAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -500,8 +500,8 @@ open class PetAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -552,8 +552,8 @@ open class PetAPI: APIBase {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<ApiResponse>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -37,8 +37,8 @@ open class StoreAPI: APIBase {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -72,8 +72,8 @@ open class StoreAPI: APIBase {
let path = "/store/inventory"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<[String:Int32]>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -137,8 +137,8 @@ open class StoreAPI: APIBase {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -200,7 +200,7 @@ open class StoreAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -35,7 +35,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -67,7 +67,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -99,7 +99,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -133,8 +133,8 @@ open class UserAPI: APIBase {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -206,8 +206,8 @@ open class UserAPI: APIBase {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<User>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -244,8 +244,8 @@ open class UserAPI: APIBase {
let path = "/user/login"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
"username": username,
"password": password
@ -278,8 +278,8 @@ open class UserAPI: APIBase {
let path = "/user/logout"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -316,7 +316,7 @@ open class UserAPI: APIBase {
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON()
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -345,7 +345,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
fileprivate func getPath(from url : URL) throws -> String {
guard var path = NSURLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
guard var path = URLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
throw DownloadException.requestMissingPath
}
@ -373,4 +373,4 @@ fileprivate enum DownloadException : Error {
case requestMissing
case requestMissingPath
case requestMissingURL
}
}

View File

@ -6,12 +6,11 @@
import Foundation
class APIHelper {
static func rejectNil(_ source: [String:Any?]) -> [String:Any]? {
var destination = [String:Any]()
for (key, nillableValue) in source {
if let value: Any = nillableValue {
destination[key] = value
public struct APIHelper {
public static func rejectNil(_ source: [String:Any?]) -> [String:Any]? {
let destination = source.reduce(into: [String: Any]()) { (result, item) in
if let value = item.value {
result[item.key] = value
}
}
@ -21,45 +20,46 @@ class APIHelper {
return destination
}
static func rejectNilHeaders(_ source: [String:Any?]) -> [String:String] {
var destination = [String:String]()
for (key, nillableValue) in source {
if let value: Any = nillableValue {
destination[key] = "\(value)"
public static func rejectNilHeaders(_ source: [String:Any?]) -> [String:String] {
return source.reduce(into: [String: String]()) { (result, item) in
if let collection = item.value as? Array<Any?> {
result[item.key] = collection.filter({ $0 != nil }).map{ "\($0!)" }.joined(separator: ",")
} else if let value: Any = item.value {
result[item.key] = "\(value)"
}
}
return destination
}
static func convertBoolToString(_ source: [String: Any]?) -> [String:Any]? {
public static func convertBoolToString(_ source: [String: Any]?) -> [String:Any]? {
guard let source = source else {
return nil
}
var destination = [String:Any]()
let theTrue = NSNumber(value: true as Bool)
let theFalse = NSNumber(value: false as Bool)
for (key, value) in source {
switch value {
case let x where x as? NSNumber === theTrue || x as? NSNumber === theFalse:
destination[key] = "\(value as! Bool)" as Any?
return source.reduce(into: [String: Any](), { (result, item) in
switch item.value {
case let x as Bool:
result[item.key] = x.description
default:
destination[key] = value
result[item.key] = item.value
}
})
}
public static func mapValuesToQueryItems(_ source: [String:Any?]) -> [URLQueryItem]? {
let destination = source.filter({ $0.value != nil}).reduce(into: [URLQueryItem]()) { (result, item) in
if let collection = item.value as? Array<Any?> {
let value = collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
result.append(URLQueryItem(name: item.key, value: value))
} else if let value = item.value {
result.append(URLQueryItem(name: item.key, value: "\(value)"))
}
}
if destination.isEmpty {
return nil
}
return destination
}
static func mapValuesToQueryItems(values: [String:Any?]) -> [URLQueryItem]? {
let returnValues = values
.filter { $0.1 != nil }
.map { (item: (_key: String, _value: Any?)) -> URLQueryItem in
URLQueryItem(name: item._key, value:"\(item._value!)")
}
if returnValues.count == 0 {
return nil
}
return returnValues
}
}

View File

@ -41,8 +41,7 @@ open class AnotherFakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -37,8 +37,7 @@ open class FakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterBoolean>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -75,8 +74,7 @@ open class FakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterComposite>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -109,8 +107,7 @@ open class FakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterNumber>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -143,8 +140,7 @@ open class FakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterString>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -181,8 +177,7 @@ open class FakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -262,9 +257,8 @@ open class FakeAPI {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -385,14 +379,13 @@ open class FakeAPI {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems([
"enum_query_string_array": enumQueryStringArray,
"enum_query_string": enumQueryString?.rawValue,
"enum_query_integer": enumQueryInteger?.rawValue
])
let nillableHeaders: [String: Any?] = [
"enum_header_string_array": enumHeaderStringArray,
"enum_header_string": enumHeaderString?.rawValue
@ -431,8 +424,7 @@ open class FakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -473,9 +465,8 @@ open class FakeAPI {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()

View File

@ -27,6 +27,7 @@ open class FakeClassnameTags123API {
/**
To test class name in snake case
- PATCH /fake_classname_test
- To test class name in snake case
- API Key:
- type: apiKey api_key_query (QUERY)
- name: api_key_query
@ -43,8 +44,7 @@ open class FakeClassnameTags123API {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -41,8 +41,7 @@ open class PetAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -83,9 +82,8 @@ open class PetAPI {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let nillableHeaders: [String: Any?] = [
"api_key": apiKey
]
@ -218,12 +216,11 @@ open class PetAPI {
let path = "/pet/findByStatus"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems([
"status": status
])
let requestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -343,12 +340,11 @@ open class PetAPI {
let path = "/pet/findByTags"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems([
"tags": tags
])
let requestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -439,9 +435,8 @@ open class PetAPI {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Pet>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -478,8 +473,7 @@ open class PetAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -528,9 +522,8 @@ open class PetAPI {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -584,9 +577,8 @@ open class PetAPI {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<ApiResponse>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -40,9 +40,8 @@ open class StoreAPI {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -78,9 +77,8 @@ open class StoreAPI {
let path = "/store/inventory"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<[String:Int]>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -146,9 +144,8 @@ open class StoreAPI {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -212,8 +209,7 @@ open class StoreAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -38,8 +38,7 @@ open class UserAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -73,8 +72,7 @@ open class UserAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -108,8 +106,7 @@ open class UserAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -145,9 +142,8 @@ open class UserAPI {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -221,9 +217,8 @@ open class UserAPI {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<User>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -262,13 +257,12 @@ open class UserAPI {
let path = "/user/login"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems([
"username": username,
"password": password
])
let requestBuilder: RequestBuilder<String>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -298,9 +292,8 @@ open class UserAPI {
let path = "/user/logout"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -339,8 +332,7 @@ open class UserAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()

View File

@ -268,7 +268,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
fileprivate func getPath(from url : URL) throws -> String {
guard var path = NSURLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
guard var path = URLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
throw DownloadException.requestMissingPath
}

View File

@ -24,4 +24,20 @@ open class JSONEncodingHelper {
return params
}
open class func encodingParameters(forEncodableObject encodableObj: Any?) -> Parameters? {
var params: Parameters? = nil
if let encodableObj = encodableObj {
do {
let data = try JSONSerialization.data(withJSONObject: encodableObj, options: .prettyPrinted)
params = JSONDataEncoding.encodingParameters(jsonData: data)
} catch {
print(error)
return nil
}
}
return params
}
}

View File

@ -19,7 +19,6 @@ public struct AdditionalPropertiesClass: Codable {
self.mapOfMapProperty = mapOfMapProperty
}
public enum CodingKeys: String, CodingKey {
case mapProperty = "map_property"
case mapOfMapProperty = "map_of_map_property"

View File

@ -20,6 +20,5 @@ public struct Animal: Codable {
}
}

View File

@ -22,6 +22,5 @@ public struct ApiResponse: Codable {
}
}

View File

@ -17,7 +17,6 @@ public struct ArrayOfArrayOfNumberOnly: Codable {
self.arrayArrayNumber = arrayArrayNumber
}
public enum CodingKeys: String, CodingKey {
case arrayArrayNumber = "ArrayArrayNumber"
}

View File

@ -17,7 +17,6 @@ public struct ArrayOfNumberOnly: Codable {
self.arrayNumber = arrayNumber
}
public enum CodingKeys: String, CodingKey {
case arrayNumber = "ArrayNumber"
}

View File

@ -21,7 +21,6 @@ public struct ArrayTest: Codable {
self.arrayArrayOfModel = arrayArrayOfModel
}
public enum CodingKeys: String, CodingKey {
case arrayOfString = "array_of_string"
case arrayArrayOfInteger = "array_array_of_integer"

View File

@ -28,7 +28,6 @@ public struct Capitalization: Codable {
self.ATT_NAME = ATT_NAME
}
public enum CodingKeys: String, CodingKey {
case smallCamel
case capitalCamel = "CapitalCamel"

View File

@ -22,6 +22,5 @@ public struct Cat: Codable {
}
}

View File

@ -19,7 +19,6 @@ public struct Category: Codable {
self.name = name
}
public enum CodingKeys: String, CodingKey {
case _id = "id"
case name

View File

@ -19,6 +19,5 @@ public struct ClassModel: Codable {
}
}

View File

@ -18,6 +18,5 @@ public struct Client: Codable {
}
}

View File

@ -22,6 +22,5 @@ public struct Dog: Codable {
}
}

View File

@ -27,7 +27,6 @@ public struct EnumArrays: Codable {
self.arrayEnum = arrayEnum
}
public enum CodingKeys: String, CodingKey {
case justSymbol = "just_symbol"
case arrayEnum = "array_enum"

View File

@ -16,6 +16,11 @@ public struct EnumTest: Codable {
case lower = "lower"
case empty = ""
}
public enum EnumStringRequired: String, Codable {
case upper = "UPPER"
case lower = "lower"
case empty = ""
}
public enum EnumInteger: Int, Codable {
case _1 = 1
case number1 = -1
@ -25,20 +30,22 @@ public struct EnumTest: Codable {
case number12 = -1.2
}
public var enumString: EnumString?
public var enumStringRequired: EnumStringRequired
public var enumInteger: EnumInteger?
public var enumNumber: EnumNumber?
public var outerEnum: OuterEnum?
public init(enumString: EnumString?, enumInteger: EnumInteger?, enumNumber: EnumNumber?, outerEnum: OuterEnum?) {
public init(enumString: EnumString?, enumStringRequired: EnumStringRequired, enumInteger: EnumInteger?, enumNumber: EnumNumber?, outerEnum: OuterEnum?) {
self.enumString = enumString
self.enumStringRequired = enumStringRequired
self.enumInteger = enumInteger
self.enumNumber = enumNumber
self.outerEnum = outerEnum
}
public enum CodingKeys: String, CodingKey {
case enumString = "enum_string"
case enumStringRequired = "enum_string_required"
case enumInteger = "enum_integer"
case enumNumber = "enum_number"
case outerEnum

View File

@ -42,6 +42,5 @@ public struct FormatTest: Codable {
}
}

View File

@ -20,6 +20,5 @@ public struct HasOnlyReadOnly: Codable {
}
}

View File

@ -17,7 +17,6 @@ public struct List: Codable {
self._123List = _123List
}
public enum CodingKeys: String, CodingKey {
case _123List = "123-list"
}

View File

@ -23,7 +23,6 @@ public struct MapTest: Codable {
self.mapOfEnumString = mapOfEnumString
}
public enum CodingKeys: String, CodingKey {
case mapMapOfString = "map_map_of_string"
case mapOfEnumString = "map_of_enum_string"

View File

@ -22,6 +22,5 @@ public struct MixedPropertiesAndAdditionalPropertiesClass: Codable {
}
}

View File

@ -20,7 +20,6 @@ public struct Model200Response: Codable {
self._class = _class
}
public enum CodingKeys: String, CodingKey {
case name
case _class = "class"

View File

@ -24,7 +24,6 @@ public struct Name: Codable {
self._123Number = _123Number
}
public enum CodingKeys: String, CodingKey {
case name
case snakeCase = "snake_case"

View File

@ -17,7 +17,6 @@ public struct NumberOnly: Codable {
self.justNumber = justNumber
}
public enum CodingKeys: String, CodingKey {
case justNumber = "JustNumber"
}

View File

@ -33,7 +33,6 @@ public struct Order: Codable {
self.complete = complete
}
public enum CodingKeys: String, CodingKey {
case _id = "id"
case petId

View File

@ -14,6 +14,5 @@ public struct OuterBoolean: Codable {
}

View File

@ -21,7 +21,6 @@ public struct OuterComposite: Codable {
self.myBoolean = myBoolean
}
public enum CodingKeys: String, CodingKey {
case myNumber = "my_number"
case myString = "my_string"

View File

@ -14,6 +14,5 @@ public struct OuterNumber: Codable {
}

View File

@ -14,6 +14,5 @@ public struct OuterString: Codable {
}

View File

@ -33,7 +33,6 @@ public struct Pet: Codable {
self.status = status
}
public enum CodingKeys: String, CodingKey {
case _id = "id"
case category

View File

@ -20,6 +20,5 @@ public struct ReadOnlyFirst: Codable {
}
}

View File

@ -18,7 +18,6 @@ public struct Return: Codable {
self._return = _return
}
public enum CodingKeys: String, CodingKey {
case _return = "return"
}

View File

@ -17,7 +17,6 @@ public struct SpecialModelName: Codable {
self.specialPropertyName = specialPropertyName
}
public enum CodingKeys: String, CodingKey {
case specialPropertyName = "$special[property.name]"
}

View File

@ -19,7 +19,6 @@ public struct Tag: Codable {
self.name = name
}
public enum CodingKeys: String, CodingKey {
case _id = "id"
case name

View File

@ -32,7 +32,6 @@ public struct User: Codable {
self.userStatus = userStatus
}
public enum CodingKeys: String, CodingKey {
case _id = "id"
case username

View File

@ -6,12 +6,11 @@
import Foundation
class APIHelper {
static func rejectNil(_ source: [String:Any?]) -> [String:Any]? {
var destination = [String:Any]()
for (key, nillableValue) in source {
if let value: Any = nillableValue {
destination[key] = value
public struct APIHelper {
public static func rejectNil(_ source: [String:Any?]) -> [String:Any]? {
let destination = source.reduce(into: [String: Any]()) { (result, item) in
if let value = item.value {
result[item.key] = value
}
}
@ -21,45 +20,46 @@ class APIHelper {
return destination
}
static func rejectNilHeaders(_ source: [String:Any?]) -> [String:String] {
var destination = [String:String]()
for (key, nillableValue) in source {
if let value: Any = nillableValue {
destination[key] = "\(value)"
public static func rejectNilHeaders(_ source: [String:Any?]) -> [String:String] {
return source.reduce(into: [String: String]()) { (result, item) in
if let collection = item.value as? Array<Any?> {
result[item.key] = collection.filter({ $0 != nil }).map{ "\($0!)" }.joined(separator: ",")
} else if let value: Any = item.value {
result[item.key] = "\(value)"
}
}
return destination
}
static func convertBoolToString(_ source: [String: Any]?) -> [String:Any]? {
public static func convertBoolToString(_ source: [String: Any]?) -> [String:Any]? {
guard let source = source else {
return nil
}
var destination = [String:Any]()
let theTrue = NSNumber(value: true as Bool)
let theFalse = NSNumber(value: false as Bool)
for (key, value) in source {
switch value {
case let x where x as? NSNumber === theTrue || x as? NSNumber === theFalse:
destination[key] = "\(value as! Bool)" as Any?
return source.reduce(into: [String: Any](), { (result, item) in
switch item.value {
case let x as Bool:
result[item.key] = x.description
default:
destination[key] = value
result[item.key] = item.value
}
})
}
public static func mapValuesToQueryItems(_ source: [String:Any?]) -> [URLQueryItem]? {
let destination = source.filter({ $0.value != nil}).reduce(into: [URLQueryItem]()) { (result, item) in
if let collection = item.value as? Array<Any?> {
let value = collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
result.append(URLQueryItem(name: item.key, value: value))
} else if let value = item.value {
result.append(URLQueryItem(name: item.key, value: "\(value)"))
}
}
if destination.isEmpty {
return nil
}
return destination
}
static func mapValuesToQueryItems(values: [String:Any?]) -> [URLQueryItem]? {
let returnValues = values
.filter { $0.1 != nil }
.map { (item: (_key: String, _value: Any?)) -> URLQueryItem in
URLQueryItem(name: item._key, value:"\(item._value!)")
}
if returnValues.count == 0 {
return nil
}
return returnValues
}
}

View File

@ -41,8 +41,7 @@ open class AnotherFakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -37,8 +37,7 @@ open class FakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterBoolean>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -75,8 +74,7 @@ open class FakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterComposite>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -109,8 +107,7 @@ open class FakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterNumber>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -143,8 +140,7 @@ open class FakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<OuterString>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -181,8 +177,7 @@ open class FakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -262,9 +257,8 @@ open class FakeAPI {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -385,14 +379,13 @@ open class FakeAPI {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems([
"enum_query_string_array": enumQueryStringArray,
"enum_query_string": enumQueryString?.rawValue,
"enum_query_integer": enumQueryInteger?.rawValue
])
let nillableHeaders: [String: Any?] = [
"enum_header_string_array": enumHeaderStringArray,
"enum_header_string": enumHeaderString?.rawValue
@ -431,8 +424,7 @@ open class FakeAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -473,9 +465,8 @@ open class FakeAPI {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()

View File

@ -27,6 +27,7 @@ open class FakeClassnameTags123API {
/**
To test class name in snake case
- PATCH /fake_classname_test
- To test class name in snake case
- API Key:
- type: apiKey api_key_query (QUERY)
- name: api_key_query
@ -43,8 +44,7 @@ open class FakeClassnameTags123API {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -41,8 +41,7 @@ open class PetAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -83,9 +82,8 @@ open class PetAPI {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let nillableHeaders: [String: Any?] = [
"api_key": apiKey
]
@ -218,12 +216,11 @@ open class PetAPI {
let path = "/pet/findByStatus"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems([
"status": status
])
let requestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -343,12 +340,11 @@ open class PetAPI {
let path = "/pet/findByTags"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems([
"tags": tags
])
let requestBuilder: RequestBuilder<[Pet]>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -439,9 +435,8 @@ open class PetAPI {
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Pet>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -478,8 +473,7 @@ open class PetAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -528,9 +522,8 @@ open class PetAPI {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -584,9 +577,8 @@ open class PetAPI {
let nonNullParameters = APIHelper.rejectNil(formParams)
let parameters = APIHelper.convertBoolToString(nonNullParameters)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<ApiResponse>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -40,9 +40,8 @@ open class StoreAPI {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -78,9 +77,8 @@ open class StoreAPI {
let path = "/store/inventory"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<[String:Int]>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -146,9 +144,8 @@ open class StoreAPI {
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -212,8 +209,7 @@ open class StoreAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()

View File

@ -38,8 +38,7 @@ open class UserAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -73,8 +72,7 @@ open class UserAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -108,8 +106,7 @@ open class UserAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -145,9 +142,8 @@ open class UserAPI {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -221,9 +217,8 @@ open class UserAPI {
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<User>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -262,13 +257,12 @@ open class UserAPI {
let path = "/user/login"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems(values:[
var url = URLComponents(string: URLString)
url?.queryItems = APIHelper.mapValuesToQueryItems([
"username": username,
"password": password
])
let requestBuilder: RequestBuilder<String>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
@ -298,9 +292,8 @@ open class UserAPI {
let path = "/user/logout"
let URLString = PetstoreClientAPI.basePath + path
let parameters: [String:Any]? = nil
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
@ -339,8 +332,7 @@ open class UserAPI {
let URLString = PetstoreClientAPI.basePath + path
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: body)
let url = NSURLComponents(string: URLString)
let url = URLComponents(string: URLString)
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()

View File

@ -268,7 +268,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
fileprivate func getPath(from url : URL) throws -> String {
guard var path = NSURLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
guard var path = URLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
throw DownloadException.requestMissingPath
}

View File

@ -24,4 +24,20 @@ open class JSONEncodingHelper {
return params
}
open class func encodingParameters(forEncodableObject encodableObj: Any?) -> Parameters? {
var params: Parameters? = nil
if let encodableObj = encodableObj {
do {
let data = try JSONSerialization.data(withJSONObject: encodableObj, options: .prettyPrinted)
params = JSONDataEncoding.encodingParameters(jsonData: data)
} catch {
print(error)
return nil
}
}
return params
}
}

View File

@ -19,7 +19,6 @@ public struct AdditionalPropertiesClass: Codable {
self.mapOfMapProperty = mapOfMapProperty
}
public enum CodingKeys: String, CodingKey {
case mapProperty = "map_property"
case mapOfMapProperty = "map_of_map_property"

View File

@ -20,6 +20,5 @@ public struct Animal: Codable {
}
}

View File

@ -27,6 +27,5 @@ public struct ApiResponse: Codable {
}
}

View File

@ -17,7 +17,6 @@ public struct ArrayOfArrayOfNumberOnly: Codable {
self.arrayArrayNumber = arrayArrayNumber
}
public enum CodingKeys: String, CodingKey {
case arrayArrayNumber = "ArrayArrayNumber"
}

Some files were not shown because too many files have changed in this diff Show More