22
33namespace {{ spec . title | caseUcfirst }}\Services ;
44
5- use Exception ;
5+ use {{ spec.title | caseUcfirst }} \{{spec.title | caseUcfirst}} Exception ;
66use {{ spec.title | caseUcfirst }}\Client ;
77use {{ spec.title | caseUcfirst }}\Service ;
88
@@ -19,24 +19,42 @@ class {{ service.name | caseUcfirst }} extends Service
1919{% for parameter in method.parameters.all %}
2020 * @param {{ parameter.type | typeName }}${{ parameter.name | caseCamel }}
2121{% endfor %}
22- * @throws Exception
23- * @return array
22+ * @throws {{spec.title | caseUcfirst}}Exception
23+ * @return {% if method.type == 'location' %}string{% else %}array{% endif %}
24+
2425 */
25- public function {{ method . name | caseCamel }}({% for parameter in method . parameters . all % }{{ parameter . type | typeName }}${{ parameter . name | caseCamel }}{{ parameter | paramDefault }}{% if not loop . last % }, {% endif % }{% endfor % }):array
26+ public function {{ method . name | caseCamel }}({% for parameter in method . parameters . all % }{{ parameter . type | typeName }}${{ parameter . name | caseCamel }}{% if not parameter . required % } = null {% endif % }{% if not loop . last % }, {% endif % }{% endfor % }): {% if method . type == ' location' % }string {% else % }array {% endif % }
27+
2628 {
29+ {% for parameter in method . parameters . all % }
30+ {% if parameter . required % }
31+ if (empty (${{ parameter . name | caseCamel }})) {
32+ throw new {{spec . title | caseUcfirst }}Exception(' Missing required parameter: "{{ parameter.name | caseCamel }}"' );
33+ }
34+
35+ {% endif % }
36+ {% endfor % }
2737 $path = str_replace ([{% for parameter in method . parameters . path % }' {{ ' {' }}{{ parameter.name | caseCamel }}{{ ' }' }}' {% if not loop . last % }, {% endif % }{% endfor % }], [{% for parameter in method . parameters . path % }${{ parameter . name | caseCamel }}{% if not loop . last % }, {% endif % }{% endfor % }], ' {{ method.path }}' );
2838 $params = [];
2939
3040{% for parameter in method . parameters . query % }
31- $params [' {{ parameter.name }}' ] = ${{ parameter . name | caseCamel }};
41+ if (! is_null (${{ parameter . name | caseCamel }})) {
42+ $params [' {{ parameter.name }}' ] = ${{ parameter . name | caseCamel }};
43+ }
44+
3245{% endfor % }
3346{% for parameter in method . parameters . body % }
34- $params [' {{ parameter.name }}' ] = ${{ parameter . name | caseCamel }};
47+ if (! is_null (${{ parameter . name | caseCamel }})) {
48+ $params [' {{ parameter.name }}' ] = ${{ parameter . name | caseCamel }};
49+ }
50+
3551{% endfor % }
3652{% for parameter in method . parameters . formData % }
37- $params [' {{ parameter.name }}' ] = ${{ parameter . name | caseCamel }};
38- {% endfor % }
53+ if (! is_null (${{ parameter . name | caseCamel }})) {
54+ $params [' {{ parameter.name }}' ] = ${{ parameter . name | caseCamel }};
55+ }
3956
57+ {% endfor % }
4058 return $this -> client -> call(Client :: METHOD_ {{ method . method | caseUpper }}, $path , [
4159{% for parameter in method . parameters . header % }
4260 ' {{ parameter.name }}' => ${{ parameter . name | caseCamel }},
0 commit comments