@@ -3,6 +3,7 @@ package {{package}}
3
3
import akka.http.scaladsl.server.Directives._
4
4
import akka.http.scaladsl.server.Route
5
5
{ {^operations.complexRequestTypes.isEmpty} }import akka.http.scaladsl.unmarshalling.FromRequestUnmarshaller
6
+ import akka.http.scaladsl.marshalling.ToEntityMarshaller
6
7
{ {/operations.complexRequestTypes.isEmpty} }
7
8
import { {invokerPackage} }.AkkaHttpHelper._
8
9
{ {#imports} }import { {import} }
@@ -23,9 +24,9 @@ class {{classname}}(
23
24
{{^queryParams.isEmpty} }parameters({ {#vendorExtensions.queryParamsWithSupportedType} }"{ {paramName} }".as[{ {dataType} }]{ {^required} }.?{ {/required} }{ {#hasMore} }, { {/hasMore} }{ {/vendorExtensions.queryParamsWithSupportedType} }) { ({{#queryParams} }{ {paramName} }{ {#hasMore} }, { {/hasMore} }{ {/queryParams} }) =>{ {/queryParams.isEmpty} }
24
25
{ {#headerParams} }{ {#required} }headerValueByName{ {/required} }{ {^required} }optionalHeaderValueByName{ {/required} }("{ {paramName} }") { {{paramName} } => { {/headerParams} }
25
26
{ {^formParams.isEmpty} }formFields({ {#formParams} }"{ {paramName} }".as[{ {#isPrimitiveType} }{ {dataType} }{ {/isPrimitiveType} }{ {^isPrimitiveType} }String{ {/isPrimitiveType} }]{ {^required} }.?{ {/required} }{ {#hasMore} }, { {/hasMore} }{ {/formParams} }) { ({{#formParams} }{ {paramName} }{ {#hasMore} }, { {/hasMore} }{ {/formParams} }) =>{ {/formParams.isEmpty} }
26
- { {^ bodyParam. isPrimitiveType} }entity(as[{ {bodyParam. dataType} }]){ body => {{/bodyParam. isPrimitiveType} }
27
+ { {# bodyParam} } { {^ isPrimitiveType} }entity(as[{ {dataType} }]){ body => {{/isPrimitiveType} } { {/bodyParam } }
27
28
{ {classVarName} }Service.{ {operationId} }({ {#allParams} }{ {paramName} } = { {paramName} }{ {#hasMore} }, { {/hasMore} }{ {/allParams} })
28
- { {^ bodyParam. isPrimitiveType} } }{ {/bodyParam. isPrimitiveType} }
29
+ { {# bodyParam} } { {^ isPrimitiveType} } }{ {/isPrimitiveType} } { {/bodyParam } }
29
30
{ {^formParams.isEmpty} } }{ {/formParams.isEmpty} }
30
31
{ {#headerParams} } }{ {/headerParams} }
31
32
{ {^queryParams.isEmpty} } }{ {/queryParams.isEmpty} }
@@ -37,20 +38,29 @@ class {{classname}}(
37
38
trait { {classname} }Service {
38
39
39
40
{{#operation} }
41
+ { {#responses} } def { {operationId} }{ {code} }{ {#dataType} }(response{ {dataType} }: { {dataType} }){ {^isPrimitiveType} }(implicit toEntityMarshaller{ {dataType} }: ToEntityMarshaller[{ {dataType} }]){ {/isPrimitiveType} }{ {/dataType} }: Route =
42
+ complete(({ {code} }, { {#dataType} }response{ {dataType} }{ {/dataType} }{ {^dataType} }"{ {message} }"{ {/dataType} }))
43
+ { {/responses} }
40
44
/**
41
45
{ {#responses} } * { {#code} }Code: { {.} },{ {/code} } { {#message} }Message: { {.} },{ {/message} } { {#dataType} }DataType: { {.} }{ {/dataType} }
42
46
{ {/responses} }
43
47
*/
44
- def { {operationId} }({ {#vendorExtensions.paramsWithSupportedType} }{ {paramName} }: { {^required} }Option[{ {/required} }{ {dataType} }{ {^required} }]{ {/required} }{ {#hasMore} }, { {/hasMore} }{ {/vendorExtensions.paramsWithSupportedType} }): Route
48
+ def { {operationId} }({ {#vendorExtensions.paramsWithSupportedType} }{ {paramName} }: { {^required} }Option[{ {/required} }{ {dataType} }{ {^required} }]{ {/required} }{ {#hasMore} }, { {/hasMore} }{ {/vendorExtensions.paramsWithSupportedType} }){ {^vendorExtensions.complexReturnTypes.isEmpty} }
49
+ (implicit { {#vendorExtensions.complexReturnTypes} }toEntityMarshaller{ {.} }: ToEntityMarshaller[{ {.} }]{ {^-last} }, { {/-last} }{ {/vendorExtensions.complexReturnTypes} }){ {/vendorExtensions.complexReturnTypes.isEmpty} }: Route
45
50
46
51
{ {/operation} }
47
52
}
48
53
49
54
{ {#hasComplexTypes} }
50
55
trait { {classname} }Marshaller {
56
+ {{#complexRequestTypes} } implicit def fromRequestUnmarshaller{ {.} }: FromRequestUnmarshaller[{ {.} }]
51
57
52
- {{#complexRequestTypes} }implicit def fromRequestUnmarshaller{ {.} }: FromRequestUnmarshaller[{ {.} }]
53
- { {/complexRequestTypes} }
54
- }{ {/hasComplexTypes} }
58
+ { {/complexRequestTypes} }
59
+
60
+ { {#complexReturnTypes} } implicit def toEntityMarshaller{ {.} }: ToEntityMarshaller[{ {.} }]
61
+
62
+ { {/complexReturnTypes} }
63
+ }
64
+ { {/hasComplexTypes} }
55
65
56
66
{ {/operations} }
0 commit comments