
kotlin-misk.apiAction.mustache Maven / Gradle / Ivy
The newest version!
package {{package}}
import {{javaxPackage}}.inject.Inject
import {{javaxPackage}}.inject.Singleton
{{#useBeanValidation}}
import {{javaxPackage}}.validation.Valid
import {{javaxPackage}}.validation.constraints.DecimalMax
import {{javaxPackage}}.validation.constraints.DecimalMin
import {{javaxPackage}}.validation.constraints.Email
import {{javaxPackage}}.validation.constraints.Max
import {{javaxPackage}}.validation.constraints.Min
import {{javaxPackage}}.validation.constraints.NotNull
import {{javaxPackage}}.validation.constraints.Pattern
import {{javaxPackage}}.validation.constraints.Size
{{/useBeanValidation}}
{{#actionImports}}
import {{{.}}}
{{/actionImports}}
import misk.web.Delete
import misk.web.Description
import misk.web.Get
import misk.web.HttpCall
import misk.web.Patch
import misk.web.PathParam
import misk.web.Post
import misk.web.Put
import misk.web.QueryParam
import misk.web.RequestBody
import misk.web.RequestContentType
import misk.web.RequestHeader
import misk.web.Response
import misk.web.ResponseContentType
import misk.web.mediatype.MediaTypes
{{#imports}}
import {{import}}
{{/imports}}
/**
* @TODO("Fill out implementation")
*/
{{#operations}}
@Singleton
class {{classname}}Action @Inject constructor(
) : {{actionParentClass}} {
{{#operation}}
@{{httpMethod}}("{{{actionPathPrefix}}}{{path}}")
@Description("{{{summary}}}"){{#hasConsumes}}
{{{actionRequestContentType}}}({{#consumes}}{{{actionRequestContentTypePrefix}}}.{{{mediaType}}}{{^-last}}, {{/-last}}{{/consumes}}){{/hasConsumes}}{{#hasProduces}}
@ResponseContentType({{#produces}}MediaTypes.{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}){{/hasProduces}}
{{#actionAnnotations}}
{{{.}}}
{{/actionAnnotations}}
fun {{operationId}}(
{{#allParams}}
{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>cookieParams}}{{>bodyParams}}{{>formParams}}{{^-last}}, {{/-last}}
{{/allParams}}
): {{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Response{{/returnType}} {
TODO()
}
{{/operation}}
}
{{/operations}}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy