mirror of https://github.com/usbharu/Hideout.git
				
				
				
			
		
			
				
	
	
		
			97 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| package {{package}}
 | |
| 
 | |
| {{#imports}}import {{import}}
 | |
| {{/imports}}
 | |
| {{#swagger2AnnotationLibrary}}
 | |
|     import io.swagger.v3.oas.annotations.*
 | |
|     import io.swagger.v3.oas.annotations.enums.*
 | |
|     import io.swagger.v3.oas.annotations.media.*
 | |
|     import io.swagger.v3.oas.annotations.responses.*
 | |
|     import io.swagger.v3.oas.annotations.security.*
 | |
| {{/swagger2AnnotationLibrary}}
 | |
| {{#swagger1AnnotationLibrary}}
 | |
|     import io.swagger.annotations.Api
 | |
|     import io.swagger.annotations.ApiOperation
 | |
|     import io.swagger.annotations.ApiParam
 | |
|     import io.swagger.annotations.ApiResponse
 | |
|     import io.swagger.annotations.ApiResponses
 | |
|     import io.swagger.annotations.Authorization
 | |
|     import io.swagger.annotations.AuthorizationScope
 | |
| {{/swagger1AnnotationLibrary}}
 | |
| import org.springframework.http.HttpStatus
 | |
| import org.springframework.http.MediaType
 | |
| import org.springframework.http.ResponseEntity
 | |
| 
 | |
| import org.springframework.web.bind.annotation.*
 | |
| {{#useBeanValidation}}
 | |
|     import org.springframework.validation.annotation.Validated
 | |
| {{/useBeanValidation}}
 | |
| import org.springframework.web.context.request.NativeWebRequest
 | |
| import org.springframework.beans.factory.annotation.Autowired
 | |
| import dev.usbharu.hideout.generate.JsonOrFormBind
 | |
| 
 | |
| {{#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}}
 | |
| 
 | |
| {{#reactive}}
 | |
|     import kotlinx.coroutines.flow.Flow
 | |
| {{/reactive}}
 | |
| import kotlin.collections.List
 | |
| import kotlin.collections.Map
 | |
| 
 | |
| @RestController{{#beanQualifiers}}("{{package}}.{{classname}}Controller"){{/beanQualifiers}}
 | |
| {{#useBeanValidation}}
 | |
|     @Validated
 | |
| {{/useBeanValidation}}
 | |
| {{#swagger1AnnotationLibrary}}
 | |
|     @Api(value = "{{{baseName}}}", description = "The {{{baseName}}} API")
 | |
| {{/swagger1AnnotationLibrary}}
 | |
| {{=<% %>=}}
 | |
| @RequestMapping("\${api.base-path:<%contextPath%>}")
 | |
| <%={{ }}=%>
 | |
| {{#operations}}
 | |
|     class {{classname}}Controller({{#serviceInterface}}@Autowired(required = true) val service: {{classname}}Service{{/serviceInterface}}) {
 | |
|     {{#operation}}
 | |
| 
 | |
|         {{#swagger2AnnotationLibrary}}
 | |
|             @Operation(
 | |
|             summary = "{{{summary}}}",
 | |
|             operationId = "{{{operationId}}}",
 | |
|             description = """{{{unescapedNotes}}}""",
 | |
|             responses = [{{#responses}}
 | |
|                 ApiResponse(responseCode = "{{{code}}}", description = "{{{message}}}"{{#baseType}}, content = [Content({{#isArray}}array = ArraySchema({{/isArray}}schema = Schema(implementation = {{{baseType}}}::class)){{#isArray}}){{/isArray}}]{{/baseType}}){{^-last}},{{/-last}}{{/responses}} ]{{#hasAuthMethods}},
 | |
|             security = [ {{#authMethods}}SecurityRequirement(name = "{{name}}"{{#isOAuth}}, scopes = [ {{#scopes}}"{{scope}}"{{^-last}}, {{/-last}}{{/scopes}} ]{{/isOAuth}}){{^-last}},{{/-last}}{{/authMethods}} ]{{/hasAuthMethods}}
 | |
|             ){{/swagger2AnnotationLibrary}}{{#swagger1AnnotationLibrary}}
 | |
|             @ApiOperation(
 | |
|             value = "{{{summary}}}",
 | |
|             nickname = "{{{operationId}}}",
 | |
|             notes = "{{{notes}}}"{{#returnBaseType}},
 | |
|             response = {{{.}}}::class{{/returnBaseType}}{{#returnContainer}},
 | |
|             responseContainer = "{{{.}}}"{{/returnContainer}}{{#hasAuthMethods}},
 | |
|             authorizations = [{{#authMethods}}Authorization(value = "{{name}}"{{#isOAuth}}, scopes = [{{#scopes}}AuthorizationScope(scope = "{{scope}}", description = "{{description}}"){{^-last}}, {{/-last}}{{/scopes}}]{{/isOAuth}}){{^-last}}, {{/-last}}{{/authMethods}}]{{/hasAuthMethods}})
 | |
|             @ApiResponses(
 | |
|             value = [{{#responses}}ApiResponse(code = {{{code}}}, message = "{{{message}}}"{{#baseType}}, response = {{{.}}}::class{{/baseType}}{{#containerType}}, responseContainer = "{{{.}}}"{{/containerType}}){{^-last}},{{/-last}}{{/responses}}]){{/swagger1AnnotationLibrary}}
 | |
|         @RequestMapping(
 | |
|         method = [RequestMethod.{{httpMethod}}],
 | |
|         value = ["{{#lambda.escapeDoubleQuote}}{{path}}{{/lambda.escapeDoubleQuote}}"]{{#singleContentTypes}}{{#hasProduces}},
 | |
|         produces = "{{{vendorExtensions.x-accepts}}}"{{/hasProduces}}{{#hasConsumes}},
 | |
|         consumes = "{{{vendorExtensions.x-content-type}}}"{{/hasConsumes}}{{/singleContentTypes}}{{^singleContentTypes}}{{#hasProduces}},
 | |
|         produces = [{{#produces}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/produces}}]{{/hasProduces}}{{#hasConsumes}},
 | |
|         consumes = [{{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}}]{{/hasConsumes}}{{/singleContentTypes}}
 | |
|         )
 | |
|         {{#reactive}}{{^isArray}}suspend {{/isArray}}{{/reactive}}fun {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{^-last}},{{/-last}}{{/allParams}}): ResponseEntity<{{>returnTypes}}> {
 | |
|         return {{>returnValue}}
 | |
|         }
 | |
|     {{/operation}}
 | |
|     }
 | |
| {{/operations}}
 |