adapt method generation to Decodable

This commit is contained in:
Madhas 2018-05-20 14:39:21 +03:00
parent 4c1fec2906
commit 05002bdf9b
2 changed files with 7 additions and 5 deletions

View File

@ -11,7 +11,7 @@ class {{ serviceName }}: NetworkService {
self.init(configuration: NetworkServiceConfiguration(baseUrl: {{ serviceName }}.apiBaseUrl))
}
func apiRequest<T: Decodable>(with parameters: ApiRequestParameters, decoder: JSONDecoder = JSONDecoder()) -> Single<T> {
func apiRequest<T: Decodable>(with parameters: ApiRequestParameters, decoder: JSONDecoder) -> Single<T> {
return rxRequest(with: parameters, decoder: decoder).map { $0.model }.asSingle()
}

View File

@ -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 %}
}
}