forked from loafle/openapi-generator-original
[scala-akka-http-server] Fix a generation problem on operations with empty responses (#5868)
* [scala-akka-http-server] When expecting an empty response, a response with an empty text/plain content is not produced anymore * Updated scala-akka-http-server samples Co-authored-by: Olivier Leonard <oleonard@ankama.com>
This commit is contained in:
parent
0adc20f114
commit
cb50ad590f
@ -409,6 +409,7 @@ public class ScalaAkkaHttpServerCodegen extends AbstractScalaCodegen implements
|
||||
entityMarshallerTypes.add(marshaller);
|
||||
operationSpecificMarshallers.add(marshaller);
|
||||
}
|
||||
response.vendorExtensions.put("x-empty-response", response.baseType == null && response.message == null);
|
||||
response.vendorExtensions.put("x-is-default", response.code.equals("0"));
|
||||
}
|
||||
op.vendorExtensions.put("x-specific-marshallers", operationSpecificMarshallers);
|
||||
|
@ -2,6 +2,7 @@ package {{package}}
|
||||
|
||||
import akka.http.scaladsl.server.Directives._
|
||||
import akka.http.scaladsl.server.Route
|
||||
import akka.http.scaladsl.model.StatusCodes
|
||||
{{^pathMatcherPatterns.isEmpty}}import akka.http.scaladsl.server.{PathMatcher, PathMatcher1}
|
||||
{{/pathMatcherPatterns.isEmpty}}
|
||||
{{#hasMarshalling}}import akka.http.scaladsl.marshalling.ToEntityMarshaller
|
||||
@ -63,8 +64,9 @@ object {{classname}}Patterns {
|
||||
trait {{classname}}Service {
|
||||
|
||||
{{#operation}}
|
||||
{{#responses}} def {{operationId}}{{#vendorExtensions.x-is-default}}Default{{/vendorExtensions.x-is-default}}{{^vendorExtensions.x-is-default}}{{code}}{{/vendorExtensions.x-is-default}}{{#baseType}}({{#vendorExtensions.x-is-default}}statusCode: Int, {{/vendorExtensions.x-is-default}}response{{baseType}}{{containerType}}: {{dataType}}){{^isPrimitiveType}}(implicit toEntityMarshaller{{baseType}}{{containerType}}: ToEntityMarshaller[{{dataType}}]){{/isPrimitiveType}}{{/baseType}}{{^baseType}}{{#vendorExtensions.x-is-default}}(statusCode: Int){{/vendorExtensions.x-is-default}}{{/baseType}}: Route =
|
||||
complete(({{#vendorExtensions.x-is-default}}statusCode{{/vendorExtensions.x-is-default}}{{^vendorExtensions.x-is-default}}{{code}}{{/vendorExtensions.x-is-default}}, {{#baseType}}response{{baseType}}{{containerType}}{{/baseType}}{{^baseType}}"{{message}}"{{/baseType}}))
|
||||
{{#responses}} def {{operationId}}{{#vendorExtensions.x-is-default}}Default{{/vendorExtensions.x-is-default}}{{^vendorExtensions.x-is-default}}{{code}}{{/vendorExtensions.x-is-default}}{{#baseType}}({{#vendorExtensions.x-is-default}}statusCode: Int, {{/vendorExtensions.x-is-default}}response{{baseType}}{{containerType}}: {{dataType}}){{^isPrimitiveType}}(implicit toEntityMarshaller{{baseType}}{{containerType}}: ToEntityMarshaller[{{dataType}}]){{/isPrimitiveType}}{{/baseType}}{{^baseType}}{{#vendorExtensions.x-is-default}}(statusCode: Int){{/vendorExtensions.x-is-default}}{{/baseType}}: Route ={{#vendorExtensions.x-empty-response}}
|
||||
complete({{#vendorExtensions.x-is-default}}statusCode{{/vendorExtensions.x-is-default}}{{^vendorExtensions.x-is-default}}StatusCodes.getForKey({{code}}){{/vendorExtensions.x-is-default}}){{/vendorExtensions.x-empty-response}}{{^vendorExtensions.x-empty-response}}
|
||||
complete(({{#vendorExtensions.x-is-default}}statusCode{{/vendorExtensions.x-is-default}}{{^vendorExtensions.x-is-default}}{{code}}{{/vendorExtensions.x-is-default}}, {{#baseType}}response{{baseType}}{{containerType}}{{/baseType}}{{^baseType}}"{{message}}"{{/baseType}})){{/vendorExtensions.x-empty-response}}
|
||||
{{/responses}}
|
||||
/**
|
||||
{{#responses}} * {{#code}}Code: {{.}}{{/code}}{{#message}}, Message: {{.}}{{/message}}{{#dataType}}, DataType: {{.}}{{/dataType}}
|
||||
|
@ -2,6 +2,7 @@ package org.openapitools.server.api
|
||||
|
||||
import akka.http.scaladsl.server.Directives._
|
||||
import akka.http.scaladsl.server.Route
|
||||
import akka.http.scaladsl.model.StatusCodes
|
||||
import akka.http.scaladsl.marshalling.ToEntityMarshaller
|
||||
import akka.http.scaladsl.unmarshalling.FromEntityUnmarshaller
|
||||
import akka.http.scaladsl.unmarshalling.FromStringUnmarshaller
|
||||
|
@ -2,6 +2,7 @@ package org.openapitools.server.api
|
||||
|
||||
import akka.http.scaladsl.server.Directives._
|
||||
import akka.http.scaladsl.server.Route
|
||||
import akka.http.scaladsl.model.StatusCodes
|
||||
import akka.http.scaladsl.marshalling.ToEntityMarshaller
|
||||
import akka.http.scaladsl.unmarshalling.FromEntityUnmarshaller
|
||||
import akka.http.scaladsl.unmarshalling.FromStringUnmarshaller
|
||||
|
@ -2,6 +2,7 @@ package org.openapitools.server.api
|
||||
|
||||
import akka.http.scaladsl.server.Directives._
|
||||
import akka.http.scaladsl.server.Route
|
||||
import akka.http.scaladsl.model.StatusCodes
|
||||
import akka.http.scaladsl.marshalling.ToEntityMarshaller
|
||||
import akka.http.scaladsl.unmarshalling.FromEntityUnmarshaller
|
||||
import akka.http.scaladsl.unmarshalling.FromStringUnmarshaller
|
||||
|
Loading…
x
Reference in New Issue
Block a user