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

Java.libraries.feign.api.mustache Maven / Gradle / Ivy

There is a newer version: 3.0.0-rc1
Show newest version
package {{package}};

import {{invokerPackage}}.ApiClient;
import {{invokerPackage}}.EncodingUtils;
{{#legacyDates}}
import {{invokerPackage}}.ParamExpander;
{{/legacyDates}}

{{#imports}}import {{import}};
{{/imports}}

{{^fullJavaUtil}}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
{{/fullJavaUtil}}
import feign.*;

{{>generatedAnnotation}}
public interface {{classname}} extends ApiClient.Api {

{{#operations}}{{#operation}}
  /**
   * {{summary}}
   * {{notes}}
{{#allParams}}
    * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}
{{/allParams}}
{{#returnType}}
   * @return {{returnType}}
{{/returnType}}
{{#externalDocs}}
  * {{description}}
  * @see {{summary}} Documentation
{{/externalDocs}}
   */
  @RequestLine("{{httpMethod}} {{{path}}}{{#hasQueryParams}}?{{/hasQueryParams}}{{#queryParams}}{{baseName}}={{=<% %>=}}{<%paramName%>}<%={{ }}=%>{{#hasMore}}&{{/hasMore}}{{/queryParams}}")
  @Headers({
{{#vendorExtensions.x-contentType}}    "Content-Type: {{vendorExtensions.x-contentType}}",
{{/vendorExtensions.x-contentType}}    "Accept: {{vendorExtensions.x-accepts}}",{{#headerParams}}
    "{{baseName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{#hasMore}},
    {{/hasMore}}{{/headerParams}}
  })
  {{#returnType}}{{{returnType}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{nickname}}({{#allParams}}{{^isBodyParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isBodyParam}}{{{dataType}}} {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}});
    {{#hasQueryParams}}

  /**
   * {{summary}}
   * {{notes}}
   * Note, this is equivalent to the other {{operationId}} method,
   * but with the query parameters collected into a single Map parameter. This
   * is convenient for services with optional query parameters, especially when
   * used with the {@link {{operationIdCamelCase}}QueryParams} class that allows for
   * building up this map in a fluent style.
      {{#allParams}}
        {{^isQueryParam}}
   * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}
        {{/isQueryParam}}
      {{/allParams}}
   * @param queryParams Map of query parameters as name-value pairs
   *   

The following elements may be specified in the query map:

*
    {{#queryParams}} *
  • {{paramName}} - {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}
  • {{/queryParams}} *
{{#returnType}} * @return {{returnType}} {{/returnType}} {{#externalDocs}} * {{description}} * @see {{summary}} Documentation {{/externalDocs}} */ @RequestLine("{{httpMethod}} {{{path}}}?{{#queryParams}}{{baseName}}={{=<% %>=}}{<%paramName%>}<%={{ }}=%>{{#hasMore}}&{{/hasMore}}{{/queryParams}}") @Headers({ {{#vendorExtensions.x-contentType}} "Content-Type: {{vendorExtensions.x-contentType}}", {{/vendorExtensions.x-contentType}} "Accept: {{vendorExtensions.x-accepts}}",{{#headerParams}} "{{baseName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{#hasMore}}, {{/hasMore}}{{/headerParams}} }) {{#returnType}}{{{returnType}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{nickname}}({{#allParams}}{{^isQueryParam}}{{^isBodyParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/isQueryParam}}{{/allParams}}@QueryMap(encoded=true) Map queryParams); /** * A convenience class for generating query parameters for the * {{operationId}} method in a fluent style. */ public static class {{operationIdCamelCase}}QueryParams extends HashMap { {{#queryParams}} public {{operationIdCamelCase}}QueryParams {{paramName}}(final {{{dataType}}} value) { {{#collectionFormat}} put("{{baseName}}", EncodingUtils.encodeCollection(value, "{{collectionFormat}}")); {{/collectionFormat}} {{^collectionFormat}} put("{{baseName}}", EncodingUtils.encode(value)); {{/collectionFormat}} return this; } {{/queryParams}} } {{/hasQueryParams}} {{/operation}} {{/operations}} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy