handlebars.Java.libraries.retrofit2.api.mustache Maven / Gradle / Ivy
package {{package}};
import {{invokerPackage}}.CollectionFormats.*;
{{#useRxJava}}
import rx.Observable;
{{/useRxJava}}
{{#useRxJava2}}
import io.reactivex.Observable;
{{/useRxJava2}}
{{#useRxJava3}}
import io.reactivex.rxjava3.core.Observable;
{{/useRxJava3}}
{{#doNotUseRx}}
import retrofit2.Call;
{{/doNotUseRx}}
import retrofit2.http.*;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
{{#imports}}import {{import}};
{{/imports}}
{{^fullJavaUtil}}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
{{/fullJavaUtil}}
{{#operations}}
public interface {{classname}} {
{{#operation}}
{{#contents}}
/**
* {{summary}}
* {{notes}}
{{#parameters}}
* @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}
{{/parameters}}
* @return Call<{{#returnType}}{{returnType}}{{/returnType}}{{^returnType}}Object{{/returnType}}>
{{#externalDocs}}
* {{description}}
* @see {{summary}} Documentation
{{/externalDocs}}
*/
{{#formParams}}
{{#@first}}
{{#is ../this 'multipart'}}@retrofit2.http.Multipart{{/is}}{{#isNot ../this 'multipart'}}@retrofit2.http.FormUrlEncoded{{/isNot}}
{{/@first}}
{{/formParams}}
{{^formParams}}
{{#prioritizedContentTypes}}
{{#@first}}
@Headers({
"Content-Type:{{mediaType}}"
})
{{/@first}}
{{/prioritizedContentTypes}}
{{/formParams}}
@{{httpMethod}}("{{{path}}}")
{{^doNotUseRx}}Observable{{/doNotUseRx}}{{#doNotUseRx}}Call{{/doNotUseRx}}<{{#isResponseFile}}ResponseBody{{/isResponseFile}}{{^isResponseFile}}{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Object{{/returnType}}{{/isResponseFile}}> {{operationId}}({{^parameters}});{{/parameters}}
{{#parameters}}{{>libraries/retrofit2/queryParams}}{{>libraries/retrofit2/pathParams}}{{>libraries/retrofit2/headerParams}}{{>libraries/retrofit2/bodyParams}}{{>libraries/retrofit2/formParams}}{{>libraries/retrofit2/cookieParams}}{{#has this 'more'}}, {{/has}}{{#hasNot this 'more'}}
);{{/hasNot}}{{/parameters}}
{{/contents}}
{{/operation}}
}
{{/operations}}