handlebars.Java.libraries.retrofit2.play25.api.mustache Maven / Gradle / Ivy
package {{package}};
import {{invokerPackage}}.CollectionFormats.*;
{{#useRxJava}}import rx.Observable;{{/useRxJava}}
{{#useRxJava2}}import io.reactivex.Observable;{{/useRxJava2}}
{{#doNotUseRx}}import retrofit2.Call;{{/doNotUseRx}}
import retrofit2.http.*;
import okhttp3.RequestBody;
{{#imports}}import {{import}};
{{/imports}}
{{^fullJavaUtil}}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
{{/fullJavaUtil}}
import java.util.concurrent.*;
import retrofit2.Response;
{{#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}}Void{{/returnType}}>
*/
{{#formParams}}
{{#@first}}
{{#isMultipart}}@retrofit2.http.Multipart{{/isMultipart}}{{^isMultipart}}@retrofit2.http.FormUrlEncoded{{/isMultipart}}
{{/@first}}
{{/formParams}}
{{^formParams}}
{{#prioritizedContentTypes}}
{{#@first}}
@Headers({
"Content-Type:{{{mediaType}}}"
})
{{/@first}}
{{/prioritizedContentTypes}}
{{/formParams}}
@{{httpMethod}}("{{{path}}}")
CompletionStage> {{operationId}}({{^parameters}});{{/parameters}}
{{#parameters}}{{>libraries/retrofit2/queryParams}}{{>libraries/retrofit2/pathParams}}{{>libraries/retrofit2/headerParams}}{{>libraries/retrofit2/bodyParams}}{{>libraries/retrofit2/formParams}}{{>libraries/retrofit2/cookieParams}}{{#hasMore}}, {{/hasMore}}{{^hasMore}}
);{{/hasMore}}{{/parameters}}
{{/contents}}
{{/operation}}
}
{{/operations}}