[Swift3] Make extracting info from errors easier. (#4502)

* [Swift3] Make ErrorResponse a struct for cleaner useage. Specify Errors that are always ErrorResponse as ErrorResponse type to avoid casting.

* [Swift3] Regenerate Petstore after ErrorResponse changes.
This commit is contained in:
Griffin Schneider 2017-01-10 10:48:07 -05:00 committed by wing328
parent a541ecc2c5
commit 5f6dcf07b2
35 changed files with 412 additions and 131 deletions

View File

@ -55,7 +55,7 @@ open class RequestBuilder<T> {
} }
} }
open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: Error?) -> Void) { } open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) { }
public func addHeader(name: String, value: String) -> Self { public func addHeader(name: String, value: String) -> Self {
if !value.isEmpty { if !value.isEmpty {

View File

@ -49,7 +49,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
return manager.request(URLString, method: method, parameters: parameters, encoding: encoding) return manager.request(URLString, method: method, parameters: parameters, encoding: encoding)
} }
override open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: Error?) -> Void) { override open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) {
let managerId:String = UUID().uuidString let managerId:String = UUID().uuidString
// Create a new manager for each request to customize its request header // Create a new manager for each request to customize its request header
let manager = createSessionManager() let manager = createSessionManager()
@ -92,7 +92,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
} }
self.processRequest(request: upload, managerId, completion) self.processRequest(request: upload, managerId, completion)
case .failure(let encodingError): case .failure(let encodingError):
completion(nil, ErrorResponse.Error(415, nil, encodingError)) completion(nil, ErrorResponse(statusCode: 415, data: nil, error: encodingError))
} }
}) })
} else { } else {
@ -105,7 +105,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
} }
private func processRequest(request: DataRequest, _ managerId: String, _ completion: @escaping (_ response: Response<T>?, _ error: Error?) -> Void) { private func processRequest(request: DataRequest, _ managerId: String, _ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) {
if let credential = self.credential { if let credential = self.credential {
request.authenticate(usingCredential: credential) request.authenticate(usingCredential: credential)
} }
@ -124,7 +124,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
if stringResponse.result.isFailure { if stringResponse.result.isFailure {
completion( completion(
nil, nil,
ErrorResponse.Error(stringResponse.response?.statusCode ?? 500, stringResponse.data, stringResponse.result.error as Error!) ErrorResponse(statusCode: stringResponse.response?.statusCode ?? 500, data: stringResponse.data, error: stringResponse.result.error as Error!)
) )
return return
} }
@ -144,7 +144,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
if voidResponse.result.isFailure { if voidResponse.result.isFailure {
completion( completion(
nil, nil,
ErrorResponse.Error(voidResponse.response?.statusCode ?? 500, voidResponse.data, voidResponse.result.error!) ErrorResponse(statusCode: voidResponse.response?.statusCode ?? 500, data: voidResponse.data, error: voidResponse.result.error!)
) )
return return
} }
@ -163,7 +163,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
if (dataResponse.result.isFailure) { if (dataResponse.result.isFailure) {
completion( completion(
nil, nil,
ErrorResponse.Error(dataResponse.response?.statusCode ?? 500, dataResponse.data, dataResponse.result.error!) ErrorResponse(statusCode: dataResponse.response?.statusCode ?? 500, data: dataResponse.data, error: dataResponse.result.error!)
) )
return return
} }
@ -181,7 +181,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
cleanupRequest() cleanupRequest()
if response.result.isFailure { if response.result.isFailure {
completion(nil, ErrorResponse.Error(response.response?.statusCode ?? 500, response.data, response.result.error!)) completion(nil, ErrorResponse(statusCode: response.response?.statusCode ?? 500, data: response.data, error: response.result.error!))
return return
} }
@ -207,7 +207,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
return return
} }
completion(nil, ErrorResponse.Error(500, nil, NSError(domain: "localhost", code: 500, userInfo: ["reason": "unreacheable code"]))) completion(nil, ErrorResponse(statusCode: 500, data: nil, error: NSError(domain: "localhost", code: 500, userInfo: ["reason": "unreacheable code"])))
} }
} }
} }

View File

@ -10,8 +10,10 @@ protocol JSONEncodable {
func encodeToJSON() -> Any func encodeToJSON() -> Any
} }
public enum ErrorResponse : Error { public struct ErrorResponse : Error {
case Error(Int, Data?, Error) public let statusCode: Int
public let data: Data?
public let error: Error
} }
open class Response<T> { open class Response<T> {

View File

@ -35,7 +35,7 @@ open class {{classname}}: APIBase {
- parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}} - parameter {{paramName}}: ({{#isFormParam}}form{{/isFormParam}}{{#isQueryParam}}query{{/isQueryParam}}{{#isPathParam}}path{{/isPathParam}}{{#isHeaderParam}}header{{/isHeaderParam}}{{#isBodyParam}}body{{/isBodyParam}}) {{description}} {{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{/allParams}}
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}{{{datatypeWithEnum}}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{#hasMore}}, {{/hasMore}}{{/allParams}}{{#hasParams}}, {{/hasParams}}completion: @escaping ((_ {{#returnType}}data: {{{returnType}}}?,_ {{/returnType}}error: Error?) -> Void)) { open class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}{{{datatypeWithEnum}}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{#hasMore}}, {{/hasMore}}{{/allParams}}{{#hasParams}}, {{/hasParams}}completion: @escaping ((_ {{#returnType}}data: {{{returnType}}}?,_ {{/returnType}}error: ErrorResponse?) -> Void)) {
{{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}).execute { (response, error) -> Void in {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}).execute { (response, error) -> Void in
completion({{#returnType}}response?.body, {{/returnType}}error); completion({{#returnType}}response?.body, {{/returnType}}error);
} }

View File

@ -55,7 +55,7 @@ open class RequestBuilder<T> {
} }
} }
open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: Error?) -> Void) { } open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) { }
public func addHeader(name: String, value: String) -> Self { public func addHeader(name: String, value: String) -> Self {
if !value.isEmpty { if !value.isEmpty {

View File

@ -16,7 +16,7 @@ open class FakeAPI: APIBase {
- parameter body: (body) client model - parameter body: (body) client model
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func testClientModel(body: Client, completion: @escaping ((_ data: Client?,_ error: Error?) -> Void)) { open class func testClientModel(body: Client, completion: @escaping ((_ data: Client?,_ error: ErrorResponse?) -> Void)) {
testClientModelWithRequestBuilder(body: body).execute { (response, error) -> Void in testClientModelWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -26,6 +26,7 @@ open class FakeAPI: APIBase {
/** /**
To test \"client\" model To test \"client\" model
- PATCH /fake - PATCH /fake
- To test \"client\" model
- examples: [{contentType=application/json, example={ - examples: [{contentType=application/json, example={
"client" : "aeiou" "client" : "aeiou"
}}] }}]
@ -65,7 +66,7 @@ open class FakeAPI: APIBase {
- parameter callback: (form) None (optional) - parameter callback: (form) None (optional)
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, completion: @escaping ((_ error: Error?) -> Void)) { open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: ISOFullDate? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute { (response, error) -> Void in testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -97,7 +98,7 @@ open class FakeAPI: APIBase {
- returns: RequestBuilder<Void> - returns: RequestBuilder<Void>
*/ */
open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder<Void> { open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: ISOFullDate? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder<Void> {
let path = "/fake" let path = "/fake"
let URLString = PetstoreClientAPI.basePath + path let URLString = PetstoreClientAPI.basePath + path
@ -172,7 +173,7 @@ open class FakeAPI: APIBase {
- parameter enumQueryDouble: (form) Query parameter enum test (double) (optional) - parameter enumQueryDouble: (form) Query parameter enum test (double) (optional)
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func testEnumParameters(enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Int32? = nil, enumQueryDouble: Double? = nil, completion: @escaping ((_ error: Error?) -> Void)) { open class func testEnumParameters(enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Int32? = nil, enumQueryDouble: Double? = nil, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
testEnumParametersWithRequestBuilder(enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble).execute { (response, error) -> Void in testEnumParametersWithRequestBuilder(enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -182,6 +183,7 @@ open class FakeAPI: APIBase {
/** /**
To test enum parameters To test enum parameters
- GET /fake - GET /fake
- To test enum parameters
- parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional)
- parameter enumFormString: (form) Form parameter enum test (string) (optional, default to -efg) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to -efg)

View File

@ -0,0 +1,49 @@
//
// Fake_classname_tags123API.swift
//
// Generated by swagger-codegen
// https://github.com/swagger-api/swagger-codegen
//
import Alamofire
open class Fake_classname_tags123API: APIBase {
/**
To test class name in snake case
- parameter body: (body) client model
- parameter completion: completion handler to receive the data and the error objects
*/
open class func testClassname(body: Client, completion: @escaping ((_ data: Client?,_ error: ErrorResponse?) -> Void)) {
testClassnameWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(response?.body, error);
}
}
/**
To test class name in snake case
- PATCH /fake_classname_test
- examples: [{contentType=application/json, example={
"client" : "aeiou"
}}]
- parameter body: (body) client model
- returns: RequestBuilder<Client>
*/
open class func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder<Client> {
let path = "/fake_classname_test"
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON() as? [String:AnyObject]
let convertedParameters = APIHelper.convertBoolToString(parameters)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
return requestBuilder.init(method: "PATCH", URLString: URLString, parameters: convertedParameters, isBody: true)
}
}

View File

@ -16,7 +16,7 @@ open class PetAPI: APIBase {
- parameter body: (body) Pet object that needs to be added to the store - parameter body: (body) Pet object that needs to be added to the store
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func addPet(body: Pet, completion: @escaping ((_ error: Error?) -> Void)) { open class func addPet(body: Pet, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
addPetWithRequestBuilder(body: body).execute { (response, error) -> Void in addPetWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -53,7 +53,7 @@ open class PetAPI: APIBase {
- parameter petId: (path) Pet id to delete - parameter petId: (path) Pet id to delete
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func deletePet(petId: Int64, completion: @escaping ((_ error: Error?) -> Void)) { open class func deletePet(petId: Int64, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
deletePetWithRequestBuilder(petId: petId).execute { (response, error) -> Void in deletePetWithRequestBuilder(petId: petId).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -103,7 +103,7 @@ open class PetAPI: APIBase {
- parameter status: (query) Status values that need to be considered for filter - parameter status: (query) Status values that need to be considered for filter
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func findPetsByStatus(status: [String], completion: @escaping ((_ data: [Pet]?,_ error: Error?) -> Void)) { open class func findPetsByStatus(status: [String], completion: @escaping ((_ data: [Pet]?,_ error: ErrorResponse?) -> Void)) {
findPetsByStatusWithRequestBuilder(status: status).execute { (response, error) -> Void in findPetsByStatusWithRequestBuilder(status: status).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -191,7 +191,7 @@ open class PetAPI: APIBase {
- parameter tags: (query) Tags to filter by - parameter tags: (query) Tags to filter by
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func findPetsByTags(tags: [String], completion: @escaping ((_ data: [Pet]?,_ error: Error?) -> Void)) { open class func findPetsByTags(tags: [String], completion: @escaping ((_ data: [Pet]?,_ error: ErrorResponse?) -> Void)) {
findPetsByTagsWithRequestBuilder(tags: tags).execute { (response, error) -> Void in findPetsByTagsWithRequestBuilder(tags: tags).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -279,7 +279,7 @@ open class PetAPI: APIBase {
- parameter petId: (path) ID of pet to return - parameter petId: (path) ID of pet to return
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func getPetById(petId: Int64, completion: @escaping ((_ data: Pet?,_ error: Error?) -> Void)) { open class func getPetById(petId: Int64, completion: @escaping ((_ data: Pet?,_ error: ErrorResponse?) -> Void)) {
getPetByIdWithRequestBuilder(petId: petId).execute { (response, error) -> Void in getPetByIdWithRequestBuilder(petId: petId).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -366,7 +366,7 @@ open class PetAPI: APIBase {
- parameter body: (body) Pet object that needs to be added to the store - parameter body: (body) Pet object that needs to be added to the store
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func updatePet(body: Pet, completion: @escaping ((_ error: Error?) -> Void)) { open class func updatePet(body: Pet, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
updatePetWithRequestBuilder(body: body).execute { (response, error) -> Void in updatePetWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -405,7 +405,7 @@ open class PetAPI: APIBase {
- parameter status: (form) Updated status of the pet (optional) - parameter status: (form) Updated status of the pet (optional)
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, completion: @escaping ((_ error: Error?) -> Void)) { open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute { (response, error) -> Void in updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -453,7 +453,7 @@ open class PetAPI: APIBase {
- parameter file: (form) file to upload (optional) - parameter file: (form) file to upload (optional)
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, completion: @escaping ((_ data: ApiResponse?,_ error: Error?) -> Void)) { open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, completion: @escaping ((_ data: ApiResponse?,_ error: ErrorResponse?) -> Void)) {
uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute { (response, error) -> Void in uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }

View File

@ -16,7 +16,7 @@ open class StoreAPI: APIBase {
- parameter orderId: (path) ID of the order that needs to be deleted - parameter orderId: (path) ID of the order that needs to be deleted
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func deleteOrder(orderId: String, completion: @escaping ((_ error: Error?) -> Void)) { open class func deleteOrder(orderId: String, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
deleteOrderWithRequestBuilder(orderId: orderId).execute { (response, error) -> Void in deleteOrderWithRequestBuilder(orderId: orderId).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -53,7 +53,7 @@ open class StoreAPI: APIBase {
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func getInventory(completion: @escaping ((_ data: [String:Int32]?,_ error: Error?) -> Void)) { open class func getInventory(completion: @escaping ((_ data: [String:Int32]?,_ error: ErrorResponse?) -> Void)) {
getInventoryWithRequestBuilder().execute { (response, error) -> Void in getInventoryWithRequestBuilder().execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -94,7 +94,7 @@ open class StoreAPI: APIBase {
- parameter orderId: (path) ID of pet that needs to be fetched - parameter orderId: (path) ID of pet that needs to be fetched
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func getOrderById(orderId: Int64, completion: @escaping ((_ data: Order?,_ error: Error?) -> Void)) { open class func getOrderById(orderId: Int64, completion: @escaping ((_ data: Order?,_ error: ErrorResponse?) -> Void)) {
getOrderByIdWithRequestBuilder(orderId: orderId).execute { (response, error) -> Void in getOrderByIdWithRequestBuilder(orderId: orderId).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -162,7 +162,7 @@ open class StoreAPI: APIBase {
- parameter body: (body) order placed for purchasing the pet - parameter body: (body) order placed for purchasing the pet
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func placeOrder(body: Order, completion: @escaping ((_ data: Order?,_ error: Error?) -> Void)) { open class func placeOrder(body: Order, completion: @escaping ((_ data: Order?,_ error: ErrorResponse?) -> Void)) {
placeOrderWithRequestBuilder(body: body).execute { (response, error) -> Void in placeOrderWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }

View File

@ -16,7 +16,7 @@ open class UserAPI: APIBase {
- parameter body: (body) Created user object - parameter body: (body) Created user object
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func createUser(body: User, completion: @escaping ((_ error: Error?) -> Void)) { open class func createUser(body: User, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
createUserWithRequestBuilder(body: body).execute { (response, error) -> Void in createUserWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -50,7 +50,7 @@ open class UserAPI: APIBase {
- parameter body: (body) List of user object - parameter body: (body) List of user object
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func createUsersWithArrayInput(body: [User], completion: @escaping ((_ error: Error?) -> Void)) { open class func createUsersWithArrayInput(body: [User], completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
createUsersWithArrayInputWithRequestBuilder(body: body).execute { (response, error) -> Void in createUsersWithArrayInputWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -84,7 +84,7 @@ open class UserAPI: APIBase {
- parameter body: (body) List of user object - parameter body: (body) List of user object
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func createUsersWithListInput(body: [User], completion: @escaping ((_ error: Error?) -> Void)) { open class func createUsersWithListInput(body: [User], completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
createUsersWithListInputWithRequestBuilder(body: body).execute { (response, error) -> Void in createUsersWithListInputWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -118,7 +118,7 @@ open class UserAPI: APIBase {
- parameter username: (path) The name that needs to be deleted - parameter username: (path) The name that needs to be deleted
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func deleteUser(username: String, completion: @escaping ((_ error: Error?) -> Void)) { open class func deleteUser(username: String, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
deleteUserWithRequestBuilder(username: username).execute { (response, error) -> Void in deleteUserWithRequestBuilder(username: username).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -156,7 +156,7 @@ open class UserAPI: APIBase {
- parameter username: (path) The name that needs to be fetched. Use user1 for testing. - parameter username: (path) The name that needs to be fetched. Use user1 for testing.
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func getUserByName(username: String, completion: @escaping ((_ data: User?,_ error: Error?) -> Void)) { open class func getUserByName(username: String, completion: @escaping ((_ data: User?,_ error: ErrorResponse?) -> Void)) {
getUserByNameWithRequestBuilder(username: username).execute { (response, error) -> Void in getUserByNameWithRequestBuilder(username: username).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -233,7 +233,7 @@ open class UserAPI: APIBase {
- parameter password: (query) The password for login in clear text - parameter password: (query) The password for login in clear text
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func loginUser(username: String, password: String, completion: @escaping ((_ data: String?,_ error: Error?) -> Void)) { open class func loginUser(username: String, password: String, completion: @escaping ((_ data: String?,_ error: ErrorResponse?) -> Void)) {
loginUserWithRequestBuilder(username: username, password: password).execute { (response, error) -> Void in loginUserWithRequestBuilder(username: username, password: password).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -277,7 +277,7 @@ open class UserAPI: APIBase {
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func logoutUser(completion: @escaping ((_ error: Error?) -> Void)) { open class func logoutUser(completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
logoutUserWithRequestBuilder().execute { (response, error) -> Void in logoutUserWithRequestBuilder().execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -313,7 +313,7 @@ open class UserAPI: APIBase {
- parameter body: (body) Updated user object - parameter body: (body) Updated user object
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func updateUser(username: String, body: User, completion: @escaping ((_ error: Error?) -> Void)) { open class func updateUser(username: String, body: User, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
updateUserWithRequestBuilder(username: username, body: body).execute { (response, error) -> Void in updateUserWithRequestBuilder(username: username, body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }

View File

@ -49,7 +49,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
return manager.request(URLString, method: method, parameters: parameters, encoding: encoding) return manager.request(URLString, method: method, parameters: parameters, encoding: encoding)
} }
override open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: Error?) -> Void) { override open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) {
let managerId:String = UUID().uuidString let managerId:String = UUID().uuidString
// Create a new manager for each request to customize its request header // Create a new manager for each request to customize its request header
let manager = createSessionManager() let manager = createSessionManager()
@ -92,7 +92,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
} }
self.processRequest(request: upload, managerId, completion) self.processRequest(request: upload, managerId, completion)
case .failure(let encodingError): case .failure(let encodingError):
completion(nil, ErrorResponse.Error(415, nil, encodingError)) completion(nil, ErrorResponse(statusCode: 415, data: nil, error: encodingError))
} }
}) })
} else { } else {
@ -105,7 +105,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
} }
private func processRequest(request: DataRequest, _ managerId: String, _ completion: @escaping (_ response: Response<T>?, _ error: Error?) -> Void) { private func processRequest(request: DataRequest, _ managerId: String, _ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) {
if let credential = self.credential { if let credential = self.credential {
request.authenticate(usingCredential: credential) request.authenticate(usingCredential: credential)
} }
@ -124,7 +124,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
if stringResponse.result.isFailure { if stringResponse.result.isFailure {
completion( completion(
nil, nil,
ErrorResponse.Error(stringResponse.response?.statusCode ?? 500, stringResponse.data, stringResponse.result.error as Error!) ErrorResponse(statusCode: stringResponse.response?.statusCode ?? 500, data: stringResponse.data, error: stringResponse.result.error as Error!)
) )
return return
} }
@ -144,7 +144,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
if voidResponse.result.isFailure { if voidResponse.result.isFailure {
completion( completion(
nil, nil,
ErrorResponse.Error(voidResponse.response?.statusCode ?? 500, voidResponse.data, voidResponse.result.error!) ErrorResponse(statusCode: voidResponse.response?.statusCode ?? 500, data: voidResponse.data, error: voidResponse.result.error!)
) )
return return
} }
@ -163,7 +163,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
if (dataResponse.result.isFailure) { if (dataResponse.result.isFailure) {
completion( completion(
nil, nil,
ErrorResponse.Error(dataResponse.response?.statusCode ?? 500, dataResponse.data, dataResponse.result.error!) ErrorResponse(statusCode: dataResponse.response?.statusCode ?? 500, data: dataResponse.data, error: dataResponse.result.error!)
) )
return return
} }
@ -181,7 +181,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
cleanupRequest() cleanupRequest()
if response.result.isFailure { if response.result.isFailure {
completion(nil, ErrorResponse.Error(response.response?.statusCode ?? 500, response.data, response.result.error!)) completion(nil, ErrorResponse(statusCode: response.response?.statusCode ?? 500, data: response.data, error: response.result.error!))
return return
} }
@ -207,7 +207,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
return return
} }
completion(nil, ErrorResponse.Error(500, nil, NSError(domain: "localhost", code: 500, userInfo: ["reason": "unreacheable code"]))) completion(nil, ErrorResponse(statusCode: 500, data: nil, error: NSError(domain: "localhost", code: 500, userInfo: ["reason": "unreacheable code"])))
} }
} }
} }

View File

@ -10,8 +10,10 @@ protocol JSONEncodable {
func encodeToJSON() -> Any func encodeToJSON() -> Any
} }
public enum ErrorResponse : Error { public struct ErrorResponse : Error {
case Error(Int, Data?, Error) public let statusCode: Int
public let data: Data?
public let error: Error
} }
open class Response<T> { open class Response<T> {
@ -418,7 +420,7 @@ class Decoders {
instance.string = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["string"] as AnyObject?) instance.string = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["string"] as AnyObject?)
instance.byte = Decoders.decodeOptional(clazz: Data.self, source: sourceDictionary["byte"] as AnyObject?) instance.byte = Decoders.decodeOptional(clazz: Data.self, source: sourceDictionary["byte"] as AnyObject?)
instance.binary = Decoders.decodeOptional(clazz: Data.self, source: sourceDictionary["binary"] as AnyObject?) instance.binary = Decoders.decodeOptional(clazz: Data.self, source: sourceDictionary["binary"] as AnyObject?)
instance.date = Decoders.decodeOptional(clazz: Date.self, source: sourceDictionary["date"] as AnyObject?) instance.date = Decoders.decodeOptional(clazz: ISOFullDate.self, source: sourceDictionary["date"] as AnyObject?)
instance.dateTime = Decoders.decodeOptional(clazz: Date.self, source: sourceDictionary["dateTime"] as AnyObject?) instance.dateTime = Decoders.decodeOptional(clazz: Date.self, source: sourceDictionary["dateTime"] as AnyObject?)
instance.uuid = Decoders.decodeOptional(clazz: UUID.self, source: sourceDictionary["uuid"] as AnyObject?) instance.uuid = Decoders.decodeOptional(clazz: UUID.self, source: sourceDictionary["uuid"] as AnyObject?)
instance.password = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["password"] as AnyObject?) instance.password = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["password"] as AnyObject?)

View File

@ -18,7 +18,7 @@ open class FormatTest: JSONEncodable {
public var string: String? public var string: String?
public var byte: Data? public var byte: Data?
public var binary: Data? public var binary: Data?
public var date: Date? public var date: ISOFullDate?
public var dateTime: Date? public var dateTime: Date?
public var uuid: UUID? public var uuid: UUID?
public var password: String? public var password: String?

View File

@ -55,7 +55,7 @@ open class RequestBuilder<T> {
} }
} }
open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: Error?) -> Void) { } open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) { }
public func addHeader(name: String, value: String) -> Self { public func addHeader(name: String, value: String) -> Self {
if !value.isEmpty { if !value.isEmpty {

View File

@ -17,7 +17,7 @@ open class FakeAPI: APIBase {
- parameter body: (body) client model - parameter body: (body) client model
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func testClientModel(body: Client, completion: @escaping ((_ data: Client?,_ error: Error?) -> Void)) { open class func testClientModel(body: Client, completion: @escaping ((_ data: Client?,_ error: ErrorResponse?) -> Void)) {
testClientModelWithRequestBuilder(body: body).execute { (response, error) -> Void in testClientModelWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -44,6 +44,7 @@ open class FakeAPI: APIBase {
/** /**
To test \"client\" model To test \"client\" model
- PATCH /fake - PATCH /fake
- To test \"client\" model
- examples: [{contentType=application/json, example={ - examples: [{contentType=application/json, example={
"client" : "aeiou" "client" : "aeiou"
}}] }}]
@ -83,7 +84,7 @@ open class FakeAPI: APIBase {
- parameter callback: (form) None (optional) - parameter callback: (form) None (optional)
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, completion: @escaping ((_ error: Error?) -> Void)) { open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: ISOFullDate? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute { (response, error) -> Void in testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -108,7 +109,7 @@ open class FakeAPI: APIBase {
- parameter callback: (form) None (optional) - parameter callback: (form) None (optional)
- returns: Promise<Void> - returns: Promise<Void>
*/ */
open class func testEndpointParameters( number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> Promise<Void> { open class func testEndpointParameters( number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: ISOFullDate? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> Promise<Void> {
let deferred = Promise<Void>.pending() let deferred = Promise<Void>.pending()
testEndpointParameters(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback) { error in testEndpointParameters(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback) { error in
if let error = error { if let error = error {
@ -145,7 +146,7 @@ open class FakeAPI: APIBase {
- returns: RequestBuilder<Void> - returns: RequestBuilder<Void>
*/ */
open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder<Void> { open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: ISOFullDate? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder<Void> {
let path = "/fake" let path = "/fake"
let URLString = PetstoreClientAPI.basePath + path let URLString = PetstoreClientAPI.basePath + path
@ -220,7 +221,7 @@ open class FakeAPI: APIBase {
- parameter enumQueryDouble: (form) Query parameter enum test (double) (optional) - parameter enumQueryDouble: (form) Query parameter enum test (double) (optional)
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func testEnumParameters(enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Double? = nil, enumQueryDouble: Double? = nil, completion: @escaping ((_ error: Error?) -> Void)) { open class func testEnumParameters(enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Int32? = nil, enumQueryDouble: Double? = nil, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
testEnumParametersWithRequestBuilder(enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble).execute { (response, error) -> Void in testEnumParametersWithRequestBuilder(enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -237,7 +238,7 @@ open class FakeAPI: APIBase {
- parameter enumQueryDouble: (form) Query parameter enum test (double) (optional) - parameter enumQueryDouble: (form) Query parameter enum test (double) (optional)
- returns: Promise<Void> - returns: Promise<Void>
*/ */
open class func testEnumParameters( enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Double? = nil, enumQueryDouble: Double? = nil) -> Promise<Void> { open class func testEnumParameters( enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Int32? = nil, enumQueryDouble: Double? = nil) -> Promise<Void> {
let deferred = Promise<Void>.pending() let deferred = Promise<Void>.pending()
testEnumParameters(enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble) { error in testEnumParameters(enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble) { error in
if let error = error { if let error = error {
@ -252,6 +253,7 @@ open class FakeAPI: APIBase {
/** /**
To test enum parameters To test enum parameters
- GET /fake - GET /fake
- To test enum parameters
- parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional)
- parameter enumFormString: (form) Form parameter enum test (string) (optional, default to -efg) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to -efg)
@ -262,14 +264,14 @@ open class FakeAPI: APIBase {
- returns: RequestBuilder<Void> - returns: RequestBuilder<Void>
*/ */
open class func testEnumParametersWithRequestBuilder(enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Double? = nil, enumQueryDouble: Double? = nil) -> RequestBuilder<Void> { open class func testEnumParametersWithRequestBuilder(enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Int32? = nil, enumQueryDouble: Double? = nil) -> RequestBuilder<Void> {
let path = "/fake" let path = "/fake"
let URLString = PetstoreClientAPI.basePath + path let URLString = PetstoreClientAPI.basePath + path
let nillableParameters: [String:Any?] = [ let nillableParameters: [String:Any?] = [
"enum_query_string_array": enumQueryStringArray, "enum_query_string_array": enumQueryStringArray,
"enum_query_string": enumQueryString?.rawValue, "enum_query_string": enumQueryString?.rawValue,
"enum_query_integer": enumQueryInteger "enum_query_integer": enumQueryInteger?.encodeToJSON()
] ]
let parameters = APIHelper.rejectNil(nillableParameters) let parameters = APIHelper.rejectNil(nillableParameters)

View File

@ -0,0 +1,67 @@
//
// Fake_classname_tags123API.swift
//
// Generated by swagger-codegen
// https://github.com/swagger-api/swagger-codegen
//
import Alamofire
import PromiseKit
open class Fake_classname_tags123API: APIBase {
/**
To test class name in snake case
- parameter body: (body) client model
- parameter completion: completion handler to receive the data and the error objects
*/
open class func testClassname(body: Client, completion: @escaping ((_ data: Client?,_ error: ErrorResponse?) -> Void)) {
testClassnameWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(response?.body, error);
}
}
/**
To test class name in snake case
- parameter body: (body) client model
- returns: Promise<Client>
*/
open class func testClassname( body: Client) -> Promise<Client> {
let deferred = Promise<Client>.pending()
testClassname(body: body) { data, error in
if let error = error {
deferred.reject(error)
} else {
deferred.fulfill(data!)
}
}
return deferred.promise
}
/**
To test class name in snake case
- PATCH /fake_classname_test
- examples: [{contentType=application/json, example={
"client" : "aeiou"
}}]
- parameter body: (body) client model
- returns: RequestBuilder<Client>
*/
open class func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder<Client> {
let path = "/fake_classname_test"
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON() as? [String:AnyObject]
let convertedParameters = APIHelper.convertBoolToString(parameters)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
return requestBuilder.init(method: "PATCH", URLString: URLString, parameters: convertedParameters, isBody: true)
}
}

View File

@ -17,7 +17,7 @@ open class PetAPI: APIBase {
- parameter body: (body) Pet object that needs to be added to the store - parameter body: (body) Pet object that needs to be added to the store
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func addPet(body: Pet, completion: @escaping ((_ error: Error?) -> Void)) { open class func addPet(body: Pet, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
addPetWithRequestBuilder(body: body).execute { (response, error) -> Void in addPetWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -71,7 +71,7 @@ open class PetAPI: APIBase {
- parameter petId: (path) Pet id to delete - parameter petId: (path) Pet id to delete
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func deletePet(petId: Int64, completion: @escaping ((_ error: Error?) -> Void)) { open class func deletePet(petId: Int64, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
deletePetWithRequestBuilder(petId: petId).execute { (response, error) -> Void in deletePetWithRequestBuilder(petId: petId).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -138,7 +138,7 @@ open class PetAPI: APIBase {
- parameter status: (query) Status values that need to be considered for filter - parameter status: (query) Status values that need to be considered for filter
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func findPetsByStatus(status: [String], completion: @escaping ((_ data: [Pet]?,_ error: Error?) -> Void)) { open class func findPetsByStatus(status: [String], completion: @escaping ((_ data: [Pet]?,_ error: ErrorResponse?) -> Void)) {
findPetsByStatusWithRequestBuilder(status: status).execute { (response, error) -> Void in findPetsByStatusWithRequestBuilder(status: status).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -243,7 +243,7 @@ open class PetAPI: APIBase {
- parameter tags: (query) Tags to filter by - parameter tags: (query) Tags to filter by
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func findPetsByTags(tags: [String], completion: @escaping ((_ data: [Pet]?,_ error: Error?) -> Void)) { open class func findPetsByTags(tags: [String], completion: @escaping ((_ data: [Pet]?,_ error: ErrorResponse?) -> Void)) {
findPetsByTagsWithRequestBuilder(tags: tags).execute { (response, error) -> Void in findPetsByTagsWithRequestBuilder(tags: tags).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -348,7 +348,7 @@ open class PetAPI: APIBase {
- parameter petId: (path) ID of pet to return - parameter petId: (path) ID of pet to return
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func getPetById(petId: Int64, completion: @escaping ((_ data: Pet?,_ error: Error?) -> Void)) { open class func getPetById(petId: Int64, completion: @escaping ((_ data: Pet?,_ error: ErrorResponse?) -> Void)) {
getPetByIdWithRequestBuilder(petId: petId).execute { (response, error) -> Void in getPetByIdWithRequestBuilder(petId: petId).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -452,7 +452,7 @@ open class PetAPI: APIBase {
- parameter body: (body) Pet object that needs to be added to the store - parameter body: (body) Pet object that needs to be added to the store
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func updatePet(body: Pet, completion: @escaping ((_ error: Error?) -> Void)) { open class func updatePet(body: Pet, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
updatePetWithRequestBuilder(body: body).execute { (response, error) -> Void in updatePetWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -508,7 +508,7 @@ open class PetAPI: APIBase {
- parameter status: (form) Updated status of the pet (optional) - parameter status: (form) Updated status of the pet (optional)
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, completion: @escaping ((_ error: Error?) -> Void)) { open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute { (response, error) -> Void in updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -575,7 +575,7 @@ open class PetAPI: APIBase {
- parameter file: (form) file to upload (optional) - parameter file: (form) file to upload (optional)
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, completion: @escaping ((_ data: ApiResponse?,_ error: Error?) -> Void)) { open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, completion: @escaping ((_ data: ApiResponse?,_ error: ErrorResponse?) -> Void)) {
uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute { (response, error) -> Void in uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }

View File

@ -17,7 +17,7 @@ open class StoreAPI: APIBase {
- parameter orderId: (path) ID of the order that needs to be deleted - parameter orderId: (path) ID of the order that needs to be deleted
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func deleteOrder(orderId: String, completion: @escaping ((_ error: Error?) -> Void)) { open class func deleteOrder(orderId: String, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
deleteOrderWithRequestBuilder(orderId: orderId).execute { (response, error) -> Void in deleteOrderWithRequestBuilder(orderId: orderId).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -71,7 +71,7 @@ open class StoreAPI: APIBase {
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func getInventory(completion: @escaping ((_ data: [String:Int32]?,_ error: Error?) -> Void)) { open class func getInventory(completion: @escaping ((_ data: [String:Int32]?,_ error: ErrorResponse?) -> Void)) {
getInventoryWithRequestBuilder().execute { (response, error) -> Void in getInventoryWithRequestBuilder().execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -128,7 +128,7 @@ open class StoreAPI: APIBase {
- parameter orderId: (path) ID of pet that needs to be fetched - parameter orderId: (path) ID of pet that needs to be fetched
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func getOrderById(orderId: Int64, completion: @escaping ((_ data: Order?,_ error: Error?) -> Void)) { open class func getOrderById(orderId: Int64, completion: @escaping ((_ data: Order?,_ error: ErrorResponse?) -> Void)) {
getOrderByIdWithRequestBuilder(orderId: orderId).execute { (response, error) -> Void in getOrderByIdWithRequestBuilder(orderId: orderId).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -213,7 +213,7 @@ open class StoreAPI: APIBase {
- parameter body: (body) order placed for purchasing the pet - parameter body: (body) order placed for purchasing the pet
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func placeOrder(body: Order, completion: @escaping ((_ data: Order?,_ error: Error?) -> Void)) { open class func placeOrder(body: Order, completion: @escaping ((_ data: Order?,_ error: ErrorResponse?) -> Void)) {
placeOrderWithRequestBuilder(body: body).execute { (response, error) -> Void in placeOrderWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }

View File

@ -17,7 +17,7 @@ open class UserAPI: APIBase {
- parameter body: (body) Created user object - parameter body: (body) Created user object
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func createUser(body: User, completion: @escaping ((_ error: Error?) -> Void)) { open class func createUser(body: User, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
createUserWithRequestBuilder(body: body).execute { (response, error) -> Void in createUserWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -68,7 +68,7 @@ open class UserAPI: APIBase {
- parameter body: (body) List of user object - parameter body: (body) List of user object
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func createUsersWithArrayInput(body: [User], completion: @escaping ((_ error: Error?) -> Void)) { open class func createUsersWithArrayInput(body: [User], completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
createUsersWithArrayInputWithRequestBuilder(body: body).execute { (response, error) -> Void in createUsersWithArrayInputWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -119,7 +119,7 @@ open class UserAPI: APIBase {
- parameter body: (body) List of user object - parameter body: (body) List of user object
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func createUsersWithListInput(body: [User], completion: @escaping ((_ error: Error?) -> Void)) { open class func createUsersWithListInput(body: [User], completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
createUsersWithListInputWithRequestBuilder(body: body).execute { (response, error) -> Void in createUsersWithListInputWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -170,7 +170,7 @@ open class UserAPI: APIBase {
- parameter username: (path) The name that needs to be deleted - parameter username: (path) The name that needs to be deleted
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func deleteUser(username: String, completion: @escaping ((_ error: Error?) -> Void)) { open class func deleteUser(username: String, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
deleteUserWithRequestBuilder(username: username).execute { (response, error) -> Void in deleteUserWithRequestBuilder(username: username).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -225,7 +225,7 @@ open class UserAPI: APIBase {
- parameter username: (path) The name that needs to be fetched. Use user1 for testing. - parameter username: (path) The name that needs to be fetched. Use user1 for testing.
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func getUserByName(username: String, completion: @escaping ((_ data: User?,_ error: Error?) -> Void)) { open class func getUserByName(username: String, completion: @escaping ((_ data: User?,_ error: ErrorResponse?) -> Void)) {
getUserByNameWithRequestBuilder(username: username).execute { (response, error) -> Void in getUserByNameWithRequestBuilder(username: username).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -319,7 +319,7 @@ open class UserAPI: APIBase {
- parameter password: (query) The password for login in clear text - parameter password: (query) The password for login in clear text
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func loginUser(username: String, password: String, completion: @escaping ((_ data: String?,_ error: Error?) -> Void)) { open class func loginUser(username: String, password: String, completion: @escaping ((_ data: String?,_ error: ErrorResponse?) -> Void)) {
loginUserWithRequestBuilder(username: username, password: password).execute { (response, error) -> Void in loginUserWithRequestBuilder(username: username, password: password).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -381,7 +381,7 @@ open class UserAPI: APIBase {
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func logoutUser(completion: @escaping ((_ error: Error?) -> Void)) { open class func logoutUser(completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
logoutUserWithRequestBuilder().execute { (response, error) -> Void in logoutUserWithRequestBuilder().execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -433,7 +433,7 @@ open class UserAPI: APIBase {
- parameter body: (body) Updated user object - parameter body: (body) Updated user object
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func updateUser(username: String, body: User, completion: @escaping ((_ error: Error?) -> Void)) { open class func updateUser(username: String, body: User, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
updateUserWithRequestBuilder(username: username, body: body).execute { (response, error) -> Void in updateUserWithRequestBuilder(username: username, body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }

View File

@ -49,7 +49,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
return manager.request(URLString, method: method, parameters: parameters, encoding: encoding) return manager.request(URLString, method: method, parameters: parameters, encoding: encoding)
} }
override open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: Error?) -> Void) { override open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) {
let managerId:String = UUID().uuidString let managerId:String = UUID().uuidString
// Create a new manager for each request to customize its request header // Create a new manager for each request to customize its request header
let manager = createSessionManager() let manager = createSessionManager()
@ -92,7 +92,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
} }
self.processRequest(request: upload, managerId, completion) self.processRequest(request: upload, managerId, completion)
case .failure(let encodingError): case .failure(let encodingError):
completion(nil, ErrorResponse.Error(415, nil, encodingError)) completion(nil, ErrorResponse(statusCode: 415, data: nil, error: encodingError))
} }
}) })
} else { } else {
@ -105,7 +105,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
} }
private func processRequest(request: DataRequest, _ managerId: String, _ completion: @escaping (_ response: Response<T>?, _ error: Error?) -> Void) { private func processRequest(request: DataRequest, _ managerId: String, _ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) {
if let credential = self.credential { if let credential = self.credential {
request.authenticate(usingCredential: credential) request.authenticate(usingCredential: credential)
} }
@ -124,7 +124,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
if stringResponse.result.isFailure { if stringResponse.result.isFailure {
completion( completion(
nil, nil,
ErrorResponse.Error(stringResponse.response?.statusCode ?? 500, stringResponse.data, stringResponse.result.error as Error!) ErrorResponse(statusCode: stringResponse.response?.statusCode ?? 500, data: stringResponse.data, error: stringResponse.result.error as Error!)
) )
return return
} }
@ -144,7 +144,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
if voidResponse.result.isFailure { if voidResponse.result.isFailure {
completion( completion(
nil, nil,
ErrorResponse.Error(voidResponse.response?.statusCode ?? 500, voidResponse.data, voidResponse.result.error!) ErrorResponse(statusCode: voidResponse.response?.statusCode ?? 500, data: voidResponse.data, error: voidResponse.result.error!)
) )
return return
} }
@ -163,7 +163,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
if (dataResponse.result.isFailure) { if (dataResponse.result.isFailure) {
completion( completion(
nil, nil,
ErrorResponse.Error(dataResponse.response?.statusCode ?? 500, dataResponse.data, dataResponse.result.error!) ErrorResponse(statusCode: dataResponse.response?.statusCode ?? 500, data: dataResponse.data, error: dataResponse.result.error!)
) )
return return
} }
@ -181,7 +181,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
cleanupRequest() cleanupRequest()
if response.result.isFailure { if response.result.isFailure {
completion(nil, ErrorResponse.Error(response.response?.statusCode ?? 500, response.data, response.result.error!)) completion(nil, ErrorResponse(statusCode: response.response?.statusCode ?? 500, data: response.data, error: response.result.error!))
return return
} }
@ -207,7 +207,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
return return
} }
completion(nil, ErrorResponse.Error(500, nil, NSError(domain: "localhost", code: 500, userInfo: ["reason": "unreacheable code"]))) completion(nil, ErrorResponse(statusCode: 500, data: nil, error: NSError(domain: "localhost", code: 500, userInfo: ["reason": "unreacheable code"])))
} }
} }
} }

View File

@ -10,8 +10,10 @@ protocol JSONEncodable {
func encodeToJSON() -> Any func encodeToJSON() -> Any
} }
public enum ErrorResponse : Error { public struct ErrorResponse : Error {
case Error(Int, Data?, Error) public let statusCode: Int
public let data: Data?
public let error: Error
} }
open class Response<T> { open class Response<T> {
@ -418,7 +420,7 @@ class Decoders {
instance.string = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["string"] as AnyObject?) instance.string = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["string"] as AnyObject?)
instance.byte = Decoders.decodeOptional(clazz: Data.self, source: sourceDictionary["byte"] as AnyObject?) instance.byte = Decoders.decodeOptional(clazz: Data.self, source: sourceDictionary["byte"] as AnyObject?)
instance.binary = Decoders.decodeOptional(clazz: Data.self, source: sourceDictionary["binary"] as AnyObject?) instance.binary = Decoders.decodeOptional(clazz: Data.self, source: sourceDictionary["binary"] as AnyObject?)
instance.date = Decoders.decodeOptional(clazz: Date.self, source: sourceDictionary["date"] as AnyObject?) instance.date = Decoders.decodeOptional(clazz: ISOFullDate.self, source: sourceDictionary["date"] as AnyObject?)
instance.dateTime = Decoders.decodeOptional(clazz: Date.self, source: sourceDictionary["dateTime"] as AnyObject?) instance.dateTime = Decoders.decodeOptional(clazz: Date.self, source: sourceDictionary["dateTime"] as AnyObject?)
instance.uuid = Decoders.decodeOptional(clazz: UUID.self, source: sourceDictionary["uuid"] as AnyObject?) instance.uuid = Decoders.decodeOptional(clazz: UUID.self, source: sourceDictionary["uuid"] as AnyObject?)
instance.password = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["password"] as AnyObject?) instance.password = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["password"] as AnyObject?)

View File

@ -0,0 +1,24 @@
//
// ClassModel.swift
//
// Generated by swagger-codegen
// https://github.com/swagger-api/swagger-codegen
//
import Foundation
/** Model for testing model with \&quot;_class\&quot; property */
open class ClassModel: JSONEncodable {
public var _class: String?
public init() {}
// MARK: JSONEncodable
open func encodeToJSON() -> Any {
var nillableDictionary = [String:Any?]()
nillableDictionary["_class"] = self._class
let dictionary: [String:Any] = APIHelper.rejectNil(nillableDictionary) ?? [:]
return dictionary
}
}

View File

@ -18,7 +18,7 @@ open class FormatTest: JSONEncodable {
public var string: String? public var string: String?
public var byte: Data? public var byte: Data?
public var binary: Data? public var binary: Data?
public var date: Date? public var date: ISOFullDate?
public var dateTime: Date? public var dateTime: Date?
public var uuid: UUID? public var uuid: UUID?
public var password: String? public var password: String?

View File

@ -0,0 +1,17 @@
//
// OuterEnum.swift
//
// Generated by swagger-codegen
// https://github.com/swagger-api/swagger-codegen
//
import Foundation
public enum OuterEnum: String {
case placed = "placed"
case approved = "approved"
case delivered = "delivered"
func encodeToJSON() -> Any { return self.rawValue }
}

View File

@ -55,7 +55,7 @@ open class RequestBuilder<T> {
} }
} }
open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: Error?) -> Void) { } open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) { }
public func addHeader(name: String, value: String) -> Self { public func addHeader(name: String, value: String) -> Self {
if !value.isEmpty { if !value.isEmpty {

View File

@ -17,7 +17,7 @@ open class FakeAPI: APIBase {
- parameter body: (body) client model - parameter body: (body) client model
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func testClientModel(body: Client, completion: @escaping ((_ data: Client?,_ error: Error?) -> Void)) { open class func testClientModel(body: Client, completion: @escaping ((_ data: Client?,_ error: ErrorResponse?) -> Void)) {
testClientModelWithRequestBuilder(body: body).execute { (response, error) -> Void in testClientModelWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -46,6 +46,7 @@ open class FakeAPI: APIBase {
/** /**
To test \"client\" model To test \"client\" model
- PATCH /fake - PATCH /fake
- To test \"client\" model
- examples: [{contentType=application/json, example={ - examples: [{contentType=application/json, example={
"client" : "aeiou" "client" : "aeiou"
}}] }}]
@ -85,7 +86,7 @@ open class FakeAPI: APIBase {
- parameter callback: (form) None (optional) - parameter callback: (form) None (optional)
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, completion: @escaping ((_ error: Error?) -> Void)) { open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: ISOFullDate? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute { (response, error) -> Void in testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -110,7 +111,7 @@ open class FakeAPI: APIBase {
- parameter callback: (form) None (optional) - parameter callback: (form) None (optional)
- returns: Observable<Void> - returns: Observable<Void>
*/ */
open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> Observable<Void> { open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: ISOFullDate? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> Observable<Void> {
return Observable.create { observer -> Disposable in return Observable.create { observer -> Disposable in
testEndpointParameters(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback) { error in testEndpointParameters(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback) { error in
if let error = error { if let error = error {
@ -149,7 +150,7 @@ open class FakeAPI: APIBase {
- returns: RequestBuilder<Void> - returns: RequestBuilder<Void>
*/ */
open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder<Void> { open class func testEndpointParametersWithRequestBuilder(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int32? = nil, int32: Int32? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: Data? = nil, date: ISOFullDate? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) -> RequestBuilder<Void> {
let path = "/fake" let path = "/fake"
let URLString = PetstoreClientAPI.basePath + path let URLString = PetstoreClientAPI.basePath + path
@ -224,7 +225,7 @@ open class FakeAPI: APIBase {
- parameter enumQueryDouble: (form) Query parameter enum test (double) (optional) - parameter enumQueryDouble: (form) Query parameter enum test (double) (optional)
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func testEnumParameters(enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Double? = nil, enumQueryDouble: Double? = nil, completion: @escaping ((_ error: Error?) -> Void)) { open class func testEnumParameters(enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Int32? = nil, enumQueryDouble: Double? = nil, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
testEnumParametersWithRequestBuilder(enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble).execute { (response, error) -> Void in testEnumParametersWithRequestBuilder(enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -241,7 +242,7 @@ open class FakeAPI: APIBase {
- parameter enumQueryDouble: (form) Query parameter enum test (double) (optional) - parameter enumQueryDouble: (form) Query parameter enum test (double) (optional)
- returns: Observable<Void> - returns: Observable<Void>
*/ */
open class func testEnumParameters(enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Double? = nil, enumQueryDouble: Double? = nil) -> Observable<Void> { open class func testEnumParameters(enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Int32? = nil, enumQueryDouble: Double? = nil) -> Observable<Void> {
return Observable.create { observer -> Disposable in return Observable.create { observer -> Disposable in
testEnumParameters(enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble) { error in testEnumParameters(enumFormStringArray: enumFormStringArray, enumFormString: enumFormString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble) { error in
if let error = error { if let error = error {
@ -258,6 +259,7 @@ open class FakeAPI: APIBase {
/** /**
To test enum parameters To test enum parameters
- GET /fake - GET /fake
- To test enum parameters
- parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional) - parameter enumFormStringArray: (form) Form parameter enum test (string array) (optional)
- parameter enumFormString: (form) Form parameter enum test (string) (optional, default to -efg) - parameter enumFormString: (form) Form parameter enum test (string) (optional, default to -efg)
@ -268,14 +270,14 @@ open class FakeAPI: APIBase {
- returns: RequestBuilder<Void> - returns: RequestBuilder<Void>
*/ */
open class func testEnumParametersWithRequestBuilder(enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Double? = nil, enumQueryDouble: Double? = nil) -> RequestBuilder<Void> { open class func testEnumParametersWithRequestBuilder(enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: Int32? = nil, enumQueryDouble: Double? = nil) -> RequestBuilder<Void> {
let path = "/fake" let path = "/fake"
let URLString = PetstoreClientAPI.basePath + path let URLString = PetstoreClientAPI.basePath + path
let nillableParameters: [String:Any?] = [ let nillableParameters: [String:Any?] = [
"enum_query_string_array": enumQueryStringArray, "enum_query_string_array": enumQueryStringArray,
"enum_query_string": enumQueryString?.rawValue, "enum_query_string": enumQueryString?.rawValue,
"enum_query_integer": enumQueryInteger "enum_query_integer": enumQueryInteger?.encodeToJSON()
] ]
let parameters = APIHelper.rejectNil(nillableParameters) let parameters = APIHelper.rejectNil(nillableParameters)

View File

@ -0,0 +1,69 @@
//
// Fake_classname_tags123API.swift
//
// Generated by swagger-codegen
// https://github.com/swagger-api/swagger-codegen
//
import Alamofire
import RxSwift
open class Fake_classname_tags123API: APIBase {
/**
To test class name in snake case
- parameter body: (body) client model
- parameter completion: completion handler to receive the data and the error objects
*/
open class func testClassname(body: Client, completion: @escaping ((_ data: Client?,_ error: ErrorResponse?) -> Void)) {
testClassnameWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(response?.body, error);
}
}
/**
To test class name in snake case
- parameter body: (body) client model
- returns: Observable<Client>
*/
open class func testClassname(body: Client) -> Observable<Client> {
return Observable.create { observer -> Disposable in
testClassname(body: body) { data, error in
if let error = error {
observer.on(.error(error as Error))
} else {
observer.on(.next(data!))
}
observer.on(.completed)
}
return NopDisposable.instance
}
}
/**
To test class name in snake case
- PATCH /fake_classname_test
- examples: [{contentType=application/json, example={
"client" : "aeiou"
}}]
- parameter body: (body) client model
- returns: RequestBuilder<Client>
*/
open class func testClassnameWithRequestBuilder(body: Client) -> RequestBuilder<Client> {
let path = "/fake_classname_test"
let URLString = PetstoreClientAPI.basePath + path
let parameters = body.encodeToJSON() as? [String:AnyObject]
let convertedParameters = APIHelper.convertBoolToString(parameters)
let requestBuilder: RequestBuilder<Client>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
return requestBuilder.init(method: "PATCH", URLString: URLString, parameters: convertedParameters, isBody: true)
}
}

View File

@ -17,7 +17,7 @@ open class PetAPI: APIBase {
- parameter body: (body) Pet object that needs to be added to the store - parameter body: (body) Pet object that needs to be added to the store
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func addPet(body: Pet, completion: @escaping ((_ error: Error?) -> Void)) { open class func addPet(body: Pet, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
addPetWithRequestBuilder(body: body).execute { (response, error) -> Void in addPetWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -73,7 +73,7 @@ open class PetAPI: APIBase {
- parameter petId: (path) Pet id to delete - parameter petId: (path) Pet id to delete
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func deletePet(petId: Int64, completion: @escaping ((_ error: Error?) -> Void)) { open class func deletePet(petId: Int64, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
deletePetWithRequestBuilder(petId: petId).execute { (response, error) -> Void in deletePetWithRequestBuilder(petId: petId).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -142,7 +142,7 @@ open class PetAPI: APIBase {
- parameter status: (query) Status values that need to be considered for filter - parameter status: (query) Status values that need to be considered for filter
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func findPetsByStatus(status: [String], completion: @escaping ((_ data: [Pet]?,_ error: Error?) -> Void)) { open class func findPetsByStatus(status: [String], completion: @escaping ((_ data: [Pet]?,_ error: ErrorResponse?) -> Void)) {
findPetsByStatusWithRequestBuilder(status: status).execute { (response, error) -> Void in findPetsByStatusWithRequestBuilder(status: status).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -249,7 +249,7 @@ open class PetAPI: APIBase {
- parameter tags: (query) Tags to filter by - parameter tags: (query) Tags to filter by
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func findPetsByTags(tags: [String], completion: @escaping ((_ data: [Pet]?,_ error: Error?) -> Void)) { open class func findPetsByTags(tags: [String], completion: @escaping ((_ data: [Pet]?,_ error: ErrorResponse?) -> Void)) {
findPetsByTagsWithRequestBuilder(tags: tags).execute { (response, error) -> Void in findPetsByTagsWithRequestBuilder(tags: tags).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -356,7 +356,7 @@ open class PetAPI: APIBase {
- parameter petId: (path) ID of pet to return - parameter petId: (path) ID of pet to return
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func getPetById(petId: Int64, completion: @escaping ((_ data: Pet?,_ error: Error?) -> Void)) { open class func getPetById(petId: Int64, completion: @escaping ((_ data: Pet?,_ error: ErrorResponse?) -> Void)) {
getPetByIdWithRequestBuilder(petId: petId).execute { (response, error) -> Void in getPetByIdWithRequestBuilder(petId: petId).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -462,7 +462,7 @@ open class PetAPI: APIBase {
- parameter body: (body) Pet object that needs to be added to the store - parameter body: (body) Pet object that needs to be added to the store
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func updatePet(body: Pet, completion: @escaping ((_ error: Error?) -> Void)) { open class func updatePet(body: Pet, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
updatePetWithRequestBuilder(body: body).execute { (response, error) -> Void in updatePetWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -520,7 +520,7 @@ open class PetAPI: APIBase {
- parameter status: (form) Updated status of the pet (optional) - parameter status: (form) Updated status of the pet (optional)
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, completion: @escaping ((_ error: Error?) -> Void)) { open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute { (response, error) -> Void in updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -589,7 +589,7 @@ open class PetAPI: APIBase {
- parameter file: (form) file to upload (optional) - parameter file: (form) file to upload (optional)
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, completion: @escaping ((_ data: ApiResponse?,_ error: Error?) -> Void)) { open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, completion: @escaping ((_ data: ApiResponse?,_ error: ErrorResponse?) -> Void)) {
uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute { (response, error) -> Void in uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }

View File

@ -17,7 +17,7 @@ open class StoreAPI: APIBase {
- parameter orderId: (path) ID of the order that needs to be deleted - parameter orderId: (path) ID of the order that needs to be deleted
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func deleteOrder(orderId: String, completion: @escaping ((_ error: Error?) -> Void)) { open class func deleteOrder(orderId: String, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
deleteOrderWithRequestBuilder(orderId: orderId).execute { (response, error) -> Void in deleteOrderWithRequestBuilder(orderId: orderId).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -73,7 +73,7 @@ open class StoreAPI: APIBase {
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func getInventory(completion: @escaping ((_ data: [String:Int32]?,_ error: Error?) -> Void)) { open class func getInventory(completion: @escaping ((_ data: [String:Int32]?,_ error: ErrorResponse?) -> Void)) {
getInventoryWithRequestBuilder().execute { (response, error) -> Void in getInventoryWithRequestBuilder().execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -132,7 +132,7 @@ open class StoreAPI: APIBase {
- parameter orderId: (path) ID of pet that needs to be fetched - parameter orderId: (path) ID of pet that needs to be fetched
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func getOrderById(orderId: Int64, completion: @escaping ((_ data: Order?,_ error: Error?) -> Void)) { open class func getOrderById(orderId: Int64, completion: @escaping ((_ data: Order?,_ error: ErrorResponse?) -> Void)) {
getOrderByIdWithRequestBuilder(orderId: orderId).execute { (response, error) -> Void in getOrderByIdWithRequestBuilder(orderId: orderId).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -219,7 +219,7 @@ open class StoreAPI: APIBase {
- parameter body: (body) order placed for purchasing the pet - parameter body: (body) order placed for purchasing the pet
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func placeOrder(body: Order, completion: @escaping ((_ data: Order?,_ error: Error?) -> Void)) { open class func placeOrder(body: Order, completion: @escaping ((_ data: Order?,_ error: ErrorResponse?) -> Void)) {
placeOrderWithRequestBuilder(body: body).execute { (response, error) -> Void in placeOrderWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }

View File

@ -17,7 +17,7 @@ open class UserAPI: APIBase {
- parameter body: (body) Created user object - parameter body: (body) Created user object
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func createUser(body: User, completion: @escaping ((_ error: Error?) -> Void)) { open class func createUser(body: User, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
createUserWithRequestBuilder(body: body).execute { (response, error) -> Void in createUserWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -70,7 +70,7 @@ open class UserAPI: APIBase {
- parameter body: (body) List of user object - parameter body: (body) List of user object
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func createUsersWithArrayInput(body: [User], completion: @escaping ((_ error: Error?) -> Void)) { open class func createUsersWithArrayInput(body: [User], completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
createUsersWithArrayInputWithRequestBuilder(body: body).execute { (response, error) -> Void in createUsersWithArrayInputWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -123,7 +123,7 @@ open class UserAPI: APIBase {
- parameter body: (body) List of user object - parameter body: (body) List of user object
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func createUsersWithListInput(body: [User], completion: @escaping ((_ error: Error?) -> Void)) { open class func createUsersWithListInput(body: [User], completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
createUsersWithListInputWithRequestBuilder(body: body).execute { (response, error) -> Void in createUsersWithListInputWithRequestBuilder(body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -176,7 +176,7 @@ open class UserAPI: APIBase {
- parameter username: (path) The name that needs to be deleted - parameter username: (path) The name that needs to be deleted
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func deleteUser(username: String, completion: @escaping ((_ error: Error?) -> Void)) { open class func deleteUser(username: String, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
deleteUserWithRequestBuilder(username: username).execute { (response, error) -> Void in deleteUserWithRequestBuilder(username: username).execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -233,7 +233,7 @@ open class UserAPI: APIBase {
- parameter username: (path) The name that needs to be fetched. Use user1 for testing. - parameter username: (path) The name that needs to be fetched. Use user1 for testing.
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func getUserByName(username: String, completion: @escaping ((_ data: User?,_ error: Error?) -> Void)) { open class func getUserByName(username: String, completion: @escaping ((_ data: User?,_ error: ErrorResponse?) -> Void)) {
getUserByNameWithRequestBuilder(username: username).execute { (response, error) -> Void in getUserByNameWithRequestBuilder(username: username).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -329,7 +329,7 @@ open class UserAPI: APIBase {
- parameter password: (query) The password for login in clear text - parameter password: (query) The password for login in clear text
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func loginUser(username: String, password: String, completion: @escaping ((_ data: String?,_ error: Error?) -> Void)) { open class func loginUser(username: String, password: String, completion: @escaping ((_ data: String?,_ error: ErrorResponse?) -> Void)) {
loginUserWithRequestBuilder(username: username, password: password).execute { (response, error) -> Void in loginUserWithRequestBuilder(username: username, password: password).execute { (response, error) -> Void in
completion(response?.body, error); completion(response?.body, error);
} }
@ -393,7 +393,7 @@ open class UserAPI: APIBase {
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func logoutUser(completion: @escaping ((_ error: Error?) -> Void)) { open class func logoutUser(completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
logoutUserWithRequestBuilder().execute { (response, error) -> Void in logoutUserWithRequestBuilder().execute { (response, error) -> Void in
completion(error); completion(error);
} }
@ -447,7 +447,7 @@ open class UserAPI: APIBase {
- parameter body: (body) Updated user object - parameter body: (body) Updated user object
- parameter completion: completion handler to receive the data and the error objects - parameter completion: completion handler to receive the data and the error objects
*/ */
open class func updateUser(username: String, body: User, completion: @escaping ((_ error: Error?) -> Void)) { open class func updateUser(username: String, body: User, completion: @escaping ((_ error: ErrorResponse?) -> Void)) {
updateUserWithRequestBuilder(username: username, body: body).execute { (response, error) -> Void in updateUserWithRequestBuilder(username: username, body: body).execute { (response, error) -> Void in
completion(error); completion(error);
} }

View File

@ -49,7 +49,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
return manager.request(URLString, method: method, parameters: parameters, encoding: encoding) return manager.request(URLString, method: method, parameters: parameters, encoding: encoding)
} }
override open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: Error?) -> Void) { override open func execute(_ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) {
let managerId:String = UUID().uuidString let managerId:String = UUID().uuidString
// Create a new manager for each request to customize its request header // Create a new manager for each request to customize its request header
let manager = createSessionManager() let manager = createSessionManager()
@ -92,7 +92,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
} }
self.processRequest(request: upload, managerId, completion) self.processRequest(request: upload, managerId, completion)
case .failure(let encodingError): case .failure(let encodingError):
completion(nil, ErrorResponse.Error(415, nil, encodingError)) completion(nil, ErrorResponse(statusCode: 415, data: nil, error: encodingError))
} }
}) })
} else { } else {
@ -105,7 +105,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
} }
private func processRequest(request: DataRequest, _ managerId: String, _ completion: @escaping (_ response: Response<T>?, _ error: Error?) -> Void) { private func processRequest(request: DataRequest, _ managerId: String, _ completion: @escaping (_ response: Response<T>?, _ error: ErrorResponse?) -> Void) {
if let credential = self.credential { if let credential = self.credential {
request.authenticate(usingCredential: credential) request.authenticate(usingCredential: credential)
} }
@ -124,7 +124,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
if stringResponse.result.isFailure { if stringResponse.result.isFailure {
completion( completion(
nil, nil,
ErrorResponse.Error(stringResponse.response?.statusCode ?? 500, stringResponse.data, stringResponse.result.error as Error!) ErrorResponse(statusCode: stringResponse.response?.statusCode ?? 500, data: stringResponse.data, error: stringResponse.result.error as Error!)
) )
return return
} }
@ -144,7 +144,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
if voidResponse.result.isFailure { if voidResponse.result.isFailure {
completion( completion(
nil, nil,
ErrorResponse.Error(voidResponse.response?.statusCode ?? 500, voidResponse.data, voidResponse.result.error!) ErrorResponse(statusCode: voidResponse.response?.statusCode ?? 500, data: voidResponse.data, error: voidResponse.result.error!)
) )
return return
} }
@ -163,7 +163,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
if (dataResponse.result.isFailure) { if (dataResponse.result.isFailure) {
completion( completion(
nil, nil,
ErrorResponse.Error(dataResponse.response?.statusCode ?? 500, dataResponse.data, dataResponse.result.error!) ErrorResponse(statusCode: dataResponse.response?.statusCode ?? 500, data: dataResponse.data, error: dataResponse.result.error!)
) )
return return
} }
@ -181,7 +181,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
cleanupRequest() cleanupRequest()
if response.result.isFailure { if response.result.isFailure {
completion(nil, ErrorResponse.Error(response.response?.statusCode ?? 500, response.data, response.result.error!)) completion(nil, ErrorResponse(statusCode: response.response?.statusCode ?? 500, data: response.data, error: response.result.error!))
return return
} }
@ -207,7 +207,7 @@ open class AlamofireRequestBuilder<T>: RequestBuilder<T> {
return return
} }
completion(nil, ErrorResponse.Error(500, nil, NSError(domain: "localhost", code: 500, userInfo: ["reason": "unreacheable code"]))) completion(nil, ErrorResponse(statusCode: 500, data: nil, error: NSError(domain: "localhost", code: 500, userInfo: ["reason": "unreacheable code"])))
} }
} }
} }

View File

@ -10,8 +10,10 @@ protocol JSONEncodable {
func encodeToJSON() -> Any func encodeToJSON() -> Any
} }
public enum ErrorResponse : Error { public struct ErrorResponse : Error {
case Error(Int, Data?, Error) public let statusCode: Int
public let data: Data?
public let error: Error
} }
open class Response<T> { open class Response<T> {
@ -418,7 +420,7 @@ class Decoders {
instance.string = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["string"] as AnyObject?) instance.string = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["string"] as AnyObject?)
instance.byte = Decoders.decodeOptional(clazz: Data.self, source: sourceDictionary["byte"] as AnyObject?) instance.byte = Decoders.decodeOptional(clazz: Data.self, source: sourceDictionary["byte"] as AnyObject?)
instance.binary = Decoders.decodeOptional(clazz: Data.self, source: sourceDictionary["binary"] as AnyObject?) instance.binary = Decoders.decodeOptional(clazz: Data.self, source: sourceDictionary["binary"] as AnyObject?)
instance.date = Decoders.decodeOptional(clazz: Date.self, source: sourceDictionary["date"] as AnyObject?) instance.date = Decoders.decodeOptional(clazz: ISOFullDate.self, source: sourceDictionary["date"] as AnyObject?)
instance.dateTime = Decoders.decodeOptional(clazz: Date.self, source: sourceDictionary["dateTime"] as AnyObject?) instance.dateTime = Decoders.decodeOptional(clazz: Date.self, source: sourceDictionary["dateTime"] as AnyObject?)
instance.uuid = Decoders.decodeOptional(clazz: UUID.self, source: sourceDictionary["uuid"] as AnyObject?) instance.uuid = Decoders.decodeOptional(clazz: UUID.self, source: sourceDictionary["uuid"] as AnyObject?)
instance.password = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["password"] as AnyObject?) instance.password = Decoders.decodeOptional(clazz: String.self, source: sourceDictionary["password"] as AnyObject?)

View File

@ -0,0 +1,24 @@
//
// ClassModel.swift
//
// Generated by swagger-codegen
// https://github.com/swagger-api/swagger-codegen
//
import Foundation
/** Model for testing model with \&quot;_class\&quot; property */
open class ClassModel: JSONEncodable {
public var _class: String?
public init() {}
// MARK: JSONEncodable
open func encodeToJSON() -> Any {
var nillableDictionary = [String:Any?]()
nillableDictionary["_class"] = self._class
let dictionary: [String:Any] = APIHelper.rejectNil(nillableDictionary) ?? [:]
return dictionary
}
}

View File

@ -18,7 +18,7 @@ open class FormatTest: JSONEncodable {
public var string: String? public var string: String?
public var byte: Data? public var byte: Data?
public var binary: Data? public var binary: Data?
public var date: Date? public var date: ISOFullDate?
public var dateTime: Date? public var dateTime: Date?
public var uuid: UUID? public var uuid: UUID?
public var password: String? public var password: String?

View File

@ -0,0 +1,17 @@
//
// OuterEnum.swift
//
// Generated by swagger-codegen
// https://github.com/swagger-api/swagger-codegen
//
import Foundation
public enum OuterEnum: String {
case placed = "placed"
case approved = "approved"
case delivered = "delivered"
func encodeToJSON() -> Any { return self.rawValue }
}