diff --git a/Swift/NetworkService.swift.twig b/Swift/NetworkService.swift.twig index b0949bf..1668b23 100644 --- a/Swift/NetworkService.swift.twig +++ b/Swift/NetworkService.swift.twig @@ -11,7 +11,7 @@ class {{ serviceName }}: NetworkService { self.init(configuration: NetworkServiceConfiguration(baseUrl: {{ serviceName }}.apiBaseUrl)) } - func apiRequest(with parameters: ApiRequestParameters, decoder: JSONDecoder = JSONDecoder()) -> Single { + func apiRequest(with parameters: ApiRequestParameters, decoder: JSONDecoder) -> Single { return rxRequest(with: parameters, decoder: decoder).map { $0.model }.asSingle() } diff --git a/Swift/blocks/method/method-func.twig b/Swift/blocks/method/method-func.twig index 444a52c..38bb1f9 100644 --- a/Swift/blocks/method/method-func.twig +++ b/Swift/blocks/method/method-func.twig @@ -13,12 +13,14 @@ /// {{ method.description }} {{ isStatic ? "static " : "" }}func {{ funcName }}({%- if hasBody -%}{{ bodyParamName }}: {{ bodyTypeName }},{{ "\n " }}{%- endif -%} requestEncoding: ParameterEncoding? = nil, - requestHeaders: HTTPHeaders? = nil) -> Single<{{ method.responseType.type.typeName }}> { + requestHeaders: HTTPHeaders? = nil, + decoder: JSONDecoder = JSONDecoder()) -> Single<{{ method.responseType.type.typeName }}> { {% if isStatic -%} return shared.{{ funcName }}({%- if hasBody -%}{{ bodyParamName }}: {{ bodyParamName }},{{ "\n " }}{%- endif -%} requestEncoding: requestEncoding, - requestHeaders: requestHeaders) + requestHeaders: requestHeaders, + decoder: decoder) {%- else -%} let parameters = apiRequestParameters(relativeUrl: "{{ method.url }}", method: .{{ methodType }}, @@ -26,6 +28,6 @@ requestEncoding: requestEncoding, requestHeaders: requestHeaders) - return apiRequest(with: parameters) + return apiRequest(with: parameters, decoder) {%- endif %} - } \ No newline at end of file + }