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);
|
entityMarshallerTypes.add(marshaller);
|
||||||
operationSpecificMarshallers.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"));
|
response.vendorExtensions.put("x-is-default", response.code.equals("0"));
|
||||||
}
|
}
|
||||||
op.vendorExtensions.put("x-specific-marshallers", operationSpecificMarshallers);
|
op.vendorExtensions.put("x-specific-marshallers", operationSpecificMarshallers);
|
||||||
|
@ -2,6 +2,7 @@ package {{package}}
|
|||||||
|
|
||||||
import akka.http.scaladsl.server.Directives._
|
import akka.http.scaladsl.server.Directives._
|
||||||
import akka.http.scaladsl.server.Route
|
import akka.http.scaladsl.server.Route
|
||||||
|
import akka.http.scaladsl.model.StatusCodes
|
||||||
{{^pathMatcherPatterns.isEmpty}}import akka.http.scaladsl.server.{PathMatcher, PathMatcher1}
|
{{^pathMatcherPatterns.isEmpty}}import akka.http.scaladsl.server.{PathMatcher, PathMatcher1}
|
||||||
{{/pathMatcherPatterns.isEmpty}}
|
{{/pathMatcherPatterns.isEmpty}}
|
||||||
{{#hasMarshalling}}import akka.http.scaladsl.marshalling.ToEntityMarshaller
|
{{#hasMarshalling}}import akka.http.scaladsl.marshalling.ToEntityMarshaller
|
||||||
@ -63,8 +64,9 @@ object {{classname}}Patterns {
|
|||||||
trait {{classname}}Service {
|
trait {{classname}}Service {
|
||||||
|
|
||||||
{{#operation}}
|
{{#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 =
|
{{#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}}{{code}}{{/vendorExtensions.x-is-default}}, {{#baseType}}response{{baseType}}{{containerType}}{{/baseType}}{{^baseType}}"{{message}}"{{/baseType}}))
|
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}}
|
||||||
/**
|
/**
|
||||||
{{#responses}} * {{#code}}Code: {{.}}{{/code}}{{#message}}, Message: {{.}}{{/message}}{{#dataType}}, DataType: {{.}}{{/dataType}}
|
{{#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.Directives._
|
||||||
import akka.http.scaladsl.server.Route
|
import akka.http.scaladsl.server.Route
|
||||||
|
import akka.http.scaladsl.model.StatusCodes
|
||||||
import akka.http.scaladsl.marshalling.ToEntityMarshaller
|
import akka.http.scaladsl.marshalling.ToEntityMarshaller
|
||||||
import akka.http.scaladsl.unmarshalling.FromEntityUnmarshaller
|
import akka.http.scaladsl.unmarshalling.FromEntityUnmarshaller
|
||||||
import akka.http.scaladsl.unmarshalling.FromStringUnmarshaller
|
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.Directives._
|
||||||
import akka.http.scaladsl.server.Route
|
import akka.http.scaladsl.server.Route
|
||||||
|
import akka.http.scaladsl.model.StatusCodes
|
||||||
import akka.http.scaladsl.marshalling.ToEntityMarshaller
|
import akka.http.scaladsl.marshalling.ToEntityMarshaller
|
||||||
import akka.http.scaladsl.unmarshalling.FromEntityUnmarshaller
|
import akka.http.scaladsl.unmarshalling.FromEntityUnmarshaller
|
||||||
import akka.http.scaladsl.unmarshalling.FromStringUnmarshaller
|
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.Directives._
|
||||||
import akka.http.scaladsl.server.Route
|
import akka.http.scaladsl.server.Route
|
||||||
|
import akka.http.scaladsl.model.StatusCodes
|
||||||
import akka.http.scaladsl.marshalling.ToEntityMarshaller
|
import akka.http.scaladsl.marshalling.ToEntityMarshaller
|
||||||
import akka.http.scaladsl.unmarshalling.FromEntityUnmarshaller
|
import akka.http.scaladsl.unmarshalling.FromEntityUnmarshaller
|
||||||
import akka.http.scaladsl.unmarshalling.FromStringUnmarshaller
|
import akka.http.scaladsl.unmarshalling.FromStringUnmarshaller
|
||||||
|
Loading…
x
Reference in New Issue
Block a user