All Downloads are FREE. Search and download functionalities are using the official Maven repository.

v2.Java.libraries.retrofit2.api.mustache Maven / Gradle / Ivy

There is a newer version: 1.0.0-rc1
Show newest version
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;
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}}
  /**
   * {{summary}}
   * {{notes}}
{{#allParams}}
   * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}
{{/allParams}}
   * @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}}({{^allParams}});{{/allParams}}
    {{#allParams}}{{>libraries/retrofit2/queryParams}}{{>libraries/retrofit2/pathParams}}{{>libraries/retrofit2/headerParams}}{{>libraries/retrofit2/bodyParams}}{{>libraries/retrofit2/formParams}}{{#has this 'more'}}, {{/has}}{{#hasNot this 'more'}}
  );{{/hasNot}}{{/allParams}}

  {{/operation}}
}
{{/operations}}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy